HTTP协议版本对比

四个版本详细对比表格

特性/版本HTTP/1.0HTTP/1.1HTTP/2HTTP/3
出现时间1996199920152022
底层协议TCPTCPTCPUDP + QUIC
连接复用❌ 每次请求一个连接✅ 长连接(Keep-Alive)✅ 多路复用✅ 多路复用(无队头阻塞)
请求并发❌ 串行⚠️ 管道化但阻塞✅ 并发(同一连接)✅ 并发(更低延迟)
请求头压缩❌ 无❌ 无✅ HPACK 压缩✅ QPACK(适用于QUIC)
服务端推送❌ 不支持❌ 不支持✅ 支持(Server Push)✅ 支持
加密要求❌ 可选(HTTP)❌ 可选(HTTP)❌ 可选(HTTP)✅ 默认 强制加密(TLS 1.3)
传输机制文本文本二进制帧二进制帧 + QUIC流
队头阻塞✅ 存在✅ 存在⚠️ TCP级别阻塞仍存在❌ 彻底消除(基于QUIC)
启动速度慢(TCP + TLS握手)慢(TCP + TLS握手)更快(连接复用)✅ 快(0-RTT连接建立)
部署难度简单简单中等(需服务端支持)⚠️ 较高(需QUIC支持)
  • HTTP/1.0(1996)
    • 每个请求都要建立一次TCP连接,请求结束即关闭(短连接)。
    • 只能串行请求,不支持并发(浏览器会并发多个TCP连接绕过这个限制)。
    • 无 Host 头,不支持虚拟主机。
    • 请求头无缓存控制、冗余。
    • 只支持纯文本请求/响应。
  • HTTP/1.1(1999)
    • 默认使用长连接(Connection: keep-alive),同一个 TCP 连接可复用多个请求。
    • 支持管道化(Pipelining):可以连续发送多个请求,但必须顺序接收响应,存在队头阻塞(Head-of-line Blocking)问题。
    • 支持 Host 头,实现虚拟主机功能(一个 IP 多个站点)。
    • 新增了缓存控制(Cache-Control、ETag)。
    • 新增了分块传输编码(Transfer-Encoding: chunked),支持动态内容。
    • 大量请求头仍重复,尤其是 Cookie、User-Agent 等字段。
  • HTTP/2(2015)
    • 二进制协议:相比 HTTP/1.x 的文本协议,解析更快、更高效。
    • 多路复用(Multiplexing):一个连接上可同时处理多个请求-响应,不再按顺序排队,无队头阻塞问题。
    • 头部压缩(HPACK):减少冗余,提高传输效率。
    • 服务器推送(Server Push):服务器可主动推送资源给客户端(如提前发送CSS/JS)。
    • 问题:仍使用 TCP,一旦丢包,会阻塞所有流。
  • HTTP/3(2022)
    • 底层彻底抛弃 TCP → 使用基于 UDP 的 QUIC 协议。
    • 彻底解决 TCP 队头阻塞。
    • 建立连接更快:支持 0-RTT 握手。
    • 自带 TLS 1.3 加密,默认启用 HTTPS。
    • 更强的多路复用、更低延迟、更可靠丢包处理。
    • 缺点是部署复杂、设备兼容性和网络策略限制(如防火墙拦UDP)。

HTTP/3 与 HTTP/2 对比详解

HTTP/3 = HTTP/2 语义 + QUIC(取代 TCP + TLS)作为传输层

  1. 使用 UDP + QUIC 替代 TCP
    • TCP 是面向连接的,需要三次握手,连接建立慢。
    • QUIC 是基于 UDP 的协议,支持 0-RTT/1-RTT 握手,速度快。
    • QUIC 本身就内置加密(TLS 1.3),无需额外 TLS 握手。
  2. 真正解决队头阻塞(Head-of-line blocking)
    • 在 TCP 连接中,如果一个数据包丢了,必须等它重传,后续的都得等。
    • QUIC 支持 独立流(streams),丢一个包不影响其他流,彻底解决队头阻塞问题。
  3. 内建 TLS 1.3
    • 安全性强,不允许明文传输。
    • 与 HTTP/2 类似,但QUIC 直接把加密集成进协议层,更高效也更安全。
  4. 新的头部压缩机制 QPACK
    • HTTP/2 使用的是 HPACK,有“阻塞风险”。
    • HTTP/3 使用 QPACK,避免了这种阻塞问题。

HTTP/3 的部署现状

  • 浏览器支持:
    • Chrome、Edge、Firefox、Safari 均已支持
  • 服务器支持:
    • Cloudflare、Google、Facebook、nginx(使用 quiche 模块)等都支持
  • 网络环境:
    • 由于基于 UDP,有些老旧网络环境(如公司内网、部分防火墙)可能不支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值