[ 初识 HTTP 协议 | 青训营笔记]

86 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 18 天

一、本堂课重点内容:

  • HTTP 协议的基本定义
  • HTTP 协议主要特征
  • HTTP 协议发展历程
  • HTTP 协议的报文结构

二、详细知识点介绍:

1. HTTP 协议的基本定义

HTTP,即Hyper Text Transfer Protocol,超文本传输协议。

2. HTTP 协议主要特征
  • HTTP协议是应用层协议,基于TCP协议。
  • 分为请求和响应两部分。
  • 可以自定义hyder,是简单可扩展的协议。
  • 无状态,不知道前面的状态。

image.png

3. HTTP 协议发展历程

最初的HTTP0.9版本只是为了通信,所以比较简单。 后来的HTTP1.0版本扩展了它的可能性,使其具有可扩展性,例如CSS等。 再到HTTP1.1版本,希望获得更好的表现,所以增加了链接复用等功能,同时也作为标准化版本。 最后到HTTP1.2版本,用户希望网络传输有更优异的表现,因此提高了传输效率和稳定性。

image.png

HTTP/2的特点:更快、更稳定、更简单

在HTTP2中,会把文本划分为一个个帧。

帧:HTTP2中通信的最小单位,每个帧包含帧头,至少啊也会表示出当前帧所属的数据流。同时采用二进制编码的方式,加入了新的压缩算法,效率更高。

消息:与逻辑请求或响应消息完全对应的完整的一系列帧。

数据流:已建立的连接内的双向字节流,可承载一条啊或多条信息。

信息交错发送,由接收方进行重新组织。

image.png

HTTP/2链接都是永久的,而且仅需要每个来源一个链接。 流控制:阻止发送方向接收方发送大量数据的机制,接收方拒绝接收信息。

服务器可以根据需要,主动推送信息,例如在下图中提前推送js和css文件,但要按需使用。

image.png

HTTPS可以进行加密传输,使用随机数作为密钥。

image.png

4. HTTP 协议的报文结构

image.png

  • 部分具体字段的常用取值:

image.png

Safe(安全的):不会修改服务器数据的方法 GET HEAD OPTIONS

idempotent(幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的。所有safe的方法都是idempotent的。 GET HEAD OPTIONS PUT DELETE

  • 状态码:

image.png

  • RESTful API

image.png

  • 常用请求头

image.png

  • 常用响应头

image.png

  • 缓存

image.png

image.png

  • cookie

image.png