HTTP 协议版本
时间: 2025-05-26 15:56:00
参考:
- HTTP/2 in Action 中文版
- grok
HTTP 协议版本#
梳理 HTTP 各个版本的功能。
HTTP/0.9#
功能 | HTTP/0.9 | HTTP/1.0 | HTTP/1.1 | HTTP/2.0 | HTTP/3.0 |
---|---|---|---|---|---|
年份 | 1991 | 1996 | 1997 | 2015 | 2022 |
请求类型 | GET | GET、 POST、 HEAD | GET、POST、HEAD PUT、PATCH、 OPTIONS、DELETE |
✅ | ✅ |
版本 | ❎ | ✅ | ✅ | ✅ | ✅ |
状态码 | ❎ | ✅ | ✅ | ✅ | ✅ |
头部 | ❎ | ✅ | ✅ | ✅ | ✅ |
Cookie | ❎ | ✅未标准化 | ✅标准化支持 | ✅ | ✅ |
Keep-Alive | ❎ | ✅默认不启用 | ✅默认启用 | ✅ | ✅ |
管道机制 | ❎ | ❎ | ✅存在缺陷 | ✅多路复用 | ✅QUIC |
Host 头部 | ❎ | ❎不必需 | ✅必须包含 | ✅ | ✅ |
多路复用 | ❎ | ❎ | ❎ | ✅ | ✅ |
服务器推送 | ❎ | ❎ | ❎ | ✅ | ✅ |
安全性 | ❎ | ❎ | ✅TLS(可选) | ✅要求 TLS 1.2+ | ✅ |
协议类型 | 文本 | 文本 | 文本 | 二进制 | 二进制 |
传输层协议 | TCP | TCP | TCP | TCP | UDP |
多路复用:HTTP/2.0
开始支持多路复用,即在一个链接上发送和接受多个请求。通过在一个链接上建立多个流(Stream) 方式实现。 HTTP/1
通过打开多个链接实现并发请求。