Skip to content

HTTP 版本演进:1.1、2、3 的连接模型与代价

主题边界

  • HTTP 版本演进的主线不是“数字更大了”,而是如何降低连接建立成本、提高并发能力、减少队头阻塞。
  • 高级回答必须同时说明它解决了什么、没解决什么,以及为什么前端优化仍然不能停在协议层。

机制与流程

  • HTTP/1.1 基于 TCP 连接,支持 keep-alive,但浏览器往往仍需通过多开连接提高并发。
  • HTTP/2 在单 TCP 连接上引入二进制分帧、多路复用、头部压缩和流优先级,减少连接数和应用层等待。
  • HTTP/3 把传输层从 TCP 换成 QUIC,把丢包恢复、流级隔离和 TLS 1.3 握手整合进协议本身。

关键差异

  • HTTP/2 解决了应用层队头阻塞,但底层仍依赖单个 TCP 连接,因此丢包时多个 stream 仍会一起受影响。
  • HTTP/3 的关键收益不是“更快的 HTTP/2”,而是把丢包影响缩小到单个 stream,同时改善连接迁移和弱网恢复。

边界条件

  • 多路复用不等于无限并发,服务端实现、流控、优先级和浏览器调度都会影响真实收益。
  • 协议升级不会自动消灭前端性能问题,资源体积、缓存命中和运行时执行成本仍然是主瓶颈。

工程落点

  • 理解版本差异后,CDN 配置、瀑布图、TLS 成本和首屏请求优先级会更容易解释。
  • 这道题常继续追问 TCP 队头阻塞、TLS 握手和 CDN 边缘缓存。

相关主题