这是我参与「第四届青训营 」笔记创作活动的第8天
引言
HTTP,全称“超文本传输协议(HyperText Transfer Protocol)”,是我们在访问互联网时最常见的一种协议类型。
我们在打开一个网页的时候通常都会注意到网址的前面有一个统一的标识 http:// (或 https:// ) ,这代表的就是“本次访问使用 HTTP 协议进行通信 。今天我们将进行该部分内容的一个讲解,一起来看看吧!
1、什么是HTTP?
HTTP 是是一个基于 TCP/IP 通信协议来传递数据(HTML文件、图片文件、查询结果等)。那么问题来了:为什么我们在通信的时候要用到这个协议呢?
简单来讲,所谓“协议”其实就是一个规范、一个标准,大家共同遵守。通信双方通过使用统一的规范,能够有效地将信息结构化,让相应的信息各归其位,提高通信效率,降低信息传输的成本。
2、HTTP 协议的格式
作为一个协议,HTTP 对于消息的格式有严格的要求。我们将整个协议划分为两个大类:请求,响应。
HTTP 请求
一般地,HTTP 协议格式主要分成四个部分:起始行、消息头、空行、 消息体。
-
起始行又包含三个信息:方法、URI、HTTP 协议版本
-
协议格式的第二部分消息头包含一些对消息的描述信息。具体地,各种消息头又被分为四大类:通用头、请求头、响应头(用于响应消息)和实体头。
-
第三部分空行,起到的作用是提示消息头结束、消息体开始。
-
第四部分消息体就是正主了,也就是一条 HTTP 消息要传输的主体。
HTTP 响应
与请求消息比较类似,HTTP 响应消息也分为四个部分:状态行、消息头、空行、消息体。
状态行也由三个部分组成:HTTP 协议版本、状态码、状态文本。
状态码其实我们很熟悉。最典型的一个就是每当我们访问的某个 URL 不存在时,就会得到一个404的状态码。因此状态码实际上是用来标识请求成功与否的数字。除了404,典型的状态码还有200(请求成功)、301(资源被永久移动)、302(资源被临时移动)等。
总结
今天简单认识了一下 HTTP 协议,粗浅地了解了与之相关的一些知识。限于整体考虑,本文没有做更深入的讲解,因此希望对进一步学习 HTTP 有兴趣的同学能够自行探索。一起打卡学习吧!!!
烟火向星辰,所愿皆成真!