前言

超文本传输协议(HyperText Transfer Protocol,HTTP)是一种应用层协议,经历了三个比较重要的版本,http/1.0http/1.1http/2.0

三个常用版本

除此之外,还加入了一个http/3.0版本

| HTTP 1.0 | HTTP 1.1 | HTTP 2.0 | HTTP 3.0 |
| :———————: | :——————————–: | :——————————-: | :———————-: |
| 基于TCP,但是非持久连接 | 基于TCP,默认持久连接 | 基于TCP,多路复用单连接处理多请求 | 基于QUIC |
| 串行请求 | 支持管道化(默认关闭,易队头阻塞) | 二进制并行传输,无队头阻塞 | 无队头阻塞 |
| 纯文本头部,无压缩 | 纯文本头部,无压缩 | HPACK压缩头部 | QPACK压缩头部(适应UDP) |
| 不支持服务器推送 | 不支持服务器推送 | 支持服务器推送 | 支持服务器推送 |
| 支持Host头 | 支持Host头 | 支持Host头 | |
| 无优先级控制 | 无优先级控制 | 支持优先级控制 | |