这是我参与「第五届青训营 」伴学笔记创作活动的第 18 天
一、本堂课重点内容:
- HTTP 协议的基本定义
- HTTP 协议主要特征
- HTTP 协议发展历程
- HTTP 协议的报文结构
二、详细知识点介绍:
1. HTTP 协议的基本定义
HTTP,即Hyper Text Transfer Protocol,超文本传输协议。
2. HTTP 协议主要特征
- HTTP协议是应用层协议,基于TCP协议。
- 分为请求和响应两部分。
- 可以自定义hyder,是简单可扩展的协议。
- 无状态,不知道前面的状态。
3. HTTP 协议发展历程
最初的HTTP0.9版本只是为了通信,所以比较简单。 后来的HTTP1.0版本扩展了它的可能性,使其具有可扩展性,例如CSS等。 再到HTTP1.1版本,希望获得更好的表现,所以增加了链接复用等功能,同时也作为标准化版本。 最后到HTTP1.2版本,用户希望网络传输有更优异的表现,因此提高了传输效率和稳定性。
HTTP/2的特点:更快、更稳定、更简单
在HTTP2中,会把文本划分为一个个帧。
帧:HTTP2中通信的最小单位,每个帧包含帧头,至少啊也会表示出当前帧所属的数据流。同时采用二进制编码的方式,加入了新的压缩算法,效率更高。
消息:与逻辑请求或响应消息完全对应的完整的一系列帧。
数据流:已建立的连接内的双向字节流,可承载一条啊或多条信息。
信息交错发送,由接收方进行重新组织。
HTTP/2链接都是永久的,而且仅需要每个来源一个链接。 流控制:阻止发送方向接收方发送大量数据的机制,接收方拒绝接收信息。
服务器可以根据需要,主动推送信息,例如在下图中提前推送js和css文件,但要按需使用。
HTTPS可以进行加密传输,使用随机数作为密钥。
4. HTTP 协议的报文结构
- 部分具体字段的常用取值:
Safe(安全的):不会修改服务器数据的方法 GET HEAD OPTIONS
idempotent(幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的。所有safe的方法都是idempotent的。 GET HEAD OPTIONS PUT DELETE
- 状态码:
- RESTful API
- 常用请求头
- 常用响应头
- 缓存
- cookie