网事小栈
首页
文章
工具
搜索
关于
← 返回首页
HTTP/2 vs HTTP/3 性能对比
深入了解两代 HTTP 协议的差异、性能对比和迁移指南
H2
HTTP/2
RFC 7540 (2015)
多路复用
单个 TCP 连接上并行传输多个请求
头部压缩
HPACK 压缩减少头部开销
服务器推送
主动向客户端推送资源
二进制分帧
二进制协议,更高效的解析
️
TCP 队头阻塞
丢包时所有流都会受影响
H3
HTTP/3
RFC 9114 (2022)
QUIC 传输
基于 UDP,独立拥塞控制
无队头阻塞
丢包仅影响单个流
内置 TLS 1.3
默认加密,0-RTT 握手
连接迁移
网络切换时保持连接
更快握手
1-RTT 或 0-RTT 建立连接
>
性能基准对比
页面加载时间
-15%
HTTP/3 更快
高延迟网络
-30%
HTTP/3 优势明显
丢包率 5%
-50%
HTTP/3 显著领先
连接建立
0-RTT
HTTP/3 支持重连
特性
HTTP/2
HTTP/3
传输层协议
TCP
QUIC (UDP)
多路复用
支持
支持
队头阻塞
存在
已解决
加密
可选 (通常 TLS)
强制 TLS 1.3
连接迁移
不支持
支持
0-RTT 握手
不支持
支持
头部压缩
HPACK
QPACK
浏览器支持
~97%
~85%
性能模拟测试
模拟不同网络条件下的页面加载性能
良好网络 (50ms, 0% 丢包)
中等网络 (150ms, 2% 丢包)
较差网络 (300ms, 5% 丢包)
移动网络 (200ms, 3% 丢包)
●
HTTP/2
加载时间
点击开始测试
●
HTTP/3
加载时间
点击开始测试
HTTP/3 迁移指南
1
检查服务器支持
确认 Web 服务器 (nginx/Apache/Caddy) 支持 HTTP/3 和 QUIC
2
启用 UDP 端口
开放 UDP 443 端口用于 QUIC 传输
3
配置 TLS 1.3
HTTP/3 强制要求 TLS 1.3,确保正确配置
4
逐步灰度发布
先对小部分流量启用 HTTP/3,监控性能指标
5
监控与优化
使用 Real User Monitoring 跟踪实际性能提升
6
回滚方案
准备快速回滚到 HTTP/2 的应急预案
>
使用建议
>
推荐启用 HTTP/3
• 面向全球用户的网站
• 移动用户占比较高的应用
• 高延迟网络环境用户
• 资源密集型 Web 应用
️ 暂不建议
• 仅内网访问的系统
• 防火墙限制 UDP 的环境
• 用户群体主要为旧浏览器
• 运维资源有限的团队