HTTP/3 到底快在哪里

HTTP/3 的收益不均匀:网络质量好时几乎看不出差别,丢包和弱网环境下差距明显。它解决的是传输层的队头阻塞。

7 分钟协议与压缩
HTTP/3 到底快在哪里

要点

HTTP/2 消除了应用层队头阻塞,但仍受 TCP 层阻塞影响。HTTP/3 换成 QUIC,一条流丢包不再拖住其他流——所以它在丢包环境下收益最大。

本文目录
  1. 01HTTP/2 解决了一半问题
  2. 02QUIC 改变了什么
  3. 03什么情况下真能感知到

HTTP/2 解决了一半问题

HTTP/1.1 的问题是一条连接同时只能处理一个请求,浏览器只好开多条连接。HTTP/2 引入多路复用,一条连接上可以并行传输多个流,应用层的队头阻塞消失了。

但 HTTP/2 仍然跑在 TCP 上。TCP 保证按序交付:某个数据包丢了,后面已经到达的数据也必须等它重传完才能交给上层。于是一条流的丢包会拖住这条连接上的所有流——队头阻塞从应用层下移到了传输层。

QUIC 改变了什么

特性HTTP/2 (TCP)HTTP/3 (QUIC)
多路复用
传输层队头阻塞存在不存在(各流独立)
建连往返TCP + TLS 握手合并,可 0-RTT 恢复
连接迁移换网络需重建连接 ID 不变,可迁移

QUIC 在 UDP 之上自己实现了可靠传输,每条流独立管理丢包重传。同时它把传输握手和加密握手合并,建连往返更少;对已访问过的站点还能做 0-RTT 恢复。

什么情况下真能感知到

别期待普遍的大幅提升

在低丢包、低延迟的固网环境下,HTTP/3 与 HTTP/2 的差距往往很小,甚至因为 UDP 在某些网络上被限速而更慢。它的价值集中在移动网络、跨国链路、拥塞时段这些丢包明显的场景。

  • 移动网络与弱网用户占比高——收益明显;
  • 用户跨国访问、链路长——建连往返的节省可感知;
  • 用户在切换网络(WiFi 到蜂窝)——连接迁移避免重建;
  • 纯内网或同城固网访问——收益有限。

开启方式上,HTTP/3 需要通过 Alt-Svc 响应头或 HTTPS DNS 记录来通告,浏览器首次访问仍走 HTTP/2、之后才升级。所以「开了但看不到 h3」通常是通告没配好,而不是不支持。

在你的网站验证

边缘核验检测你的站点实际协商到的协议版本