web学习笔记编程技术学习与分享

HTTP/1.1、HTTP/2、HTTP/3 的差异

2026 年 09 月 18 日约 3 分钟阅读 网络与安全

HTTP 三个版本的演进,主线只有一条:解决队头阻塞(Head-of-Line Blocking)。

HTTP/1.1 的问题

文本协议,一个连接同一时刻只能处理一个请求。浏览器为绕开限制并发开 6 个连接,并发展出域名分片、雪碧图、内联资源等「优化」。这些手段本质上都是在绕协议缺陷。

HTTP/2:多路复用

二进制分帧,一个连接上多个流(stream)交错传输,彼此独立:

  • 头部压缩(HPACK)消除重复头;
  • 多路复用让 6 连接、域名分片成为历史;
  • 服务端推送(Server Push)实际收益有限,已被多数实现弃用。

但队头阻塞没有根除:TCP 层丢一个包,所有流都要等重传。HTTP/2 把应用层的队头阻塞下沉到了 TCP 层。

HTTP/3:换掉传输层

QUIC 基于 UDP 重新实现了可靠传输:流之间真正独立,丢包只影响所在的流;连接建立与 TLS 1.3 握手合并,0-RTT 恢复会话;连接迁移(换网络不断连)对移动端友好。

版本 传输 队头阻塞 部署难点
1.1 TCP 应用层 无
2 TCP 下沉到 TCP 无(需 TLS 或 h2c)
3 QUIC/UDP 流级独立 UDP 被防火墙拦截、运维熟悉度

升级的实际收益排序

对大多数站点,收益从大到小是:

  1. 上 HTTPS(HTTP/2 的前提,也是安全基线);
  2. HTTP/2(几乎是免费的改进);
  3. 优化资源本身(体积、缓存、关键路径)——比协议升级的空间大得多;
  4. HTTP/3(弱网、移动端场景明显)。
listen 443 ssl;
http2 on;
# HTTP/3: listen 443 quic;  加 Alt-Svc 头通告

一个实用的判断:如果站点慢的原因是「图片太大」「接口串行」,先去修那些;协议升级是锦上添花,不是雪中送炭。

HTTP网络性能