性能提升:多路复用与流控制 🚀
HTTP/2 通过多路复用(Multiplexing)技术,允许单个连接同时传输多个请求/响应,避免了HTTP/1.1的队头阻塞问题。
- 📈 性能对比:
特性 HTTP/1.1 HTTP/2 连接数 多个 单个(SPDY) 首字节时间 较长 显著缩短 流量控制 不支持 支持(Flow Control)
头部压缩:HPACK 算法 🧠
HTTP/2 使用HPACK(Header Compression)对请求和响应头进行压缩,减少冗余数据传输。
- 🔍 压缩原理:
- 通过静态表和动态表存储常见头字段,减少重复编码
- 支持头字段的逐项压缩,降低带宽占用
服务器推送:Push-to-Client 📤
服务器可主动向客户端推送资源(如CSS、JS文件),优化加载体验。
- 📌 使用场景:
- 预加载关键资源(如
<link rel="preload">
) - 避免重复请求,减少延迟
- 预加载关键资源(如
安全性增强:加密与验证 ✅
HTTP/2 强制要求使用TLS加密,提升数据传输安全性。
- 🔒 重要特性:
- 全局加密(TLS 1.2+)
- 支持服务器证书验证(Server Name Indication, SNI)
扩展阅读 🔗
本文内容基于技术博客系列,如需深入理解 HTTP/2 的实现细节,可参考 HTTP/2 协议规范。