一、HTTP/3 是什么
HTTP/3是 HTTP 协议的第三个正式版本,核心本质:
HTTP 语义 + QUIC 传输协议 + 内置 TLS 1.3 加密,底层完全基于 UDP承载。
演进脉络:
- HTTP/1.1:基于TCP
- HTTP/2:基于TCP + TLS
- HTTP/3:基于 UDP + QUIC + 原生 TLS1.3
关键结论:
HTTP/3 不是简单改 HTTP 头部,而是彻底换掉底层传输层,用 QUIC 替代 TCP,解决 TCP 队头阻塞、握手延迟、网络切换掉线等历史痛点。
二、为什么要出 HTTP/3?(前两代痛点)
1. HTTP/1.1 问题
- 串行请求,同一域名串行阻塞;
- 无多路复用,只能靠多域名并发;
- TCP 握手+TLS 握手延迟高。
2. HTTP/2 问题(仍基于 TCP)
- TCP 层队头阻塞:一个 TCP 报文丢包,整个连接所有流都卡住等待重传;
- 网络切换(4G→WiFi):TCP 端口/五元组变化,连接断开重连;
- 握手回合多:TCP(1RTT)+TLS(1~2RTT),建连延迟大;
- 中间设备防火墙、老旧代理容易阉割 HTTP/2 特性。
3. HTTP/3 核心解决点
- 彻底解决 TCP 队头阻塞
- 0-RTT / 1-RTT 快速建连
- 网络切换无感迁移(手机切 WiFi 不掉连接)
- 原生全程加密,无明文握手
- 基于 UDP,穿透性更好、防火墙兼容更强
三、HTTP/3 整体协议栈
层级对比
| 版本 | 协议栈 |
|---|---|
| HTTP/1.1 | HTTP → TCP → IP |
| HTTP/2 | HTTP/2 → TLS → TCP → IP |
| HTTP/3 | HTTP/3 → QUIC → UDP → IP |
特点:
- QUIC 整合了传输控制 + 拥塞控制 + 多路复用 + TLS1.3 安全层;
- 不依赖 DTLS,QUIC 内部深度集成 TLS1.3,自成安全体系。
四、核心底层:QUIC 协议关键特性
HTTP/3 几乎所有优势都来自 QUIC,重点吃透这几点:
1. 基于 UDP,但自研可靠传输
UDP 本身不可靠,QUIC在应用层实现了可靠传输、重传、序号、丢包检测,不用依赖 TCP。
2. 彻底消除队头阻塞
- HTTP/2 是单 TCP 连接多流,一个丢包全阻塞;
- QUIC每个 Stream 独立隔离,某一条流丢包只影响自己,不影响其他请求/资源。
3. 极致握手延迟
- 首次连接:1-RTT
- 重连/漫游:0-RTT直接发业务数据
相比 TCP+TLS 多轮握手,大幅降低首次加载、接口访问延迟。
4. 连接迁移(Network Migration)
QUIC 用Connection ID 唯一标识连接,不绑定「IP+端口」五元组。
手机从 4G 切 WiFi、IP 变化:连接不中断,业务无感知。
TCP 做不到,IP/端口一变就得重连。
5. 内置全程加密
- 所有 QUIC 报文默认加密,没有明文握手阶段;
- 直接集成 TLS1.3,密钥协商、证书校验、加密一体完成;
- 防窃听、防篡改、防中间人劫持,比传统 TLS+TCP 更安全。
6. 内置多路复用 & 流优先级
- 一条 QUIC 连接承载多个 HTTP 请求(Stream);
- 可设置资源优先级(网页先加载关键 CSS/HTML,再加载图片);
- 流之间完全隔离。
7. 更好的拥塞控制
QUIC 可使用 BBR、CUBIC 等拥塞算法,且可在用户态快速迭代,不用改操作系统内核;
TCP 拥塞算法绑定系统内核,更新极慢。
五、HTTP/3 协议工作机制
1. 寻址与端口
- 默认端口:UDP 443
- 与 HTTPS 共用端口,便于部署。
2. 版本协商(Alt-Svc 机制)
浏览器先使用 HTTP/2 或 HTTP/1.1 访问,服务器响应头携带:
Alt-Svc: h3=":443"; ma=86400告诉客户端:我支持 HTTP/3,下次直接用 QUIC 访问。
后续客户端直接走 UDP 443 发起 HTTP/3 连接。
3. 连接、会话、Stream 关系
- QUIC Connection:一条底层传输连接
- QUIC Stream:连接内的独立双向/单向流
- 每个 HTTP 请求对应一条QUIC Stream,天然多路复用。
4. 0-RTT 重连流程
- 首次握手后客户端缓存会话密钥、服务端配置;
- 下次访问不用等待握手,直接带上密钥发送 HTTP 请求数据;
- 服务端可直接解密处理,零延迟建连+请求。
适合 App 接口、小程序、高频短请求场景。
六、HTTP/3 与 HTTP/2 / TCP+TLS 关键对比
| 特性 | HTTP/2(TCP) | HTTP/3(QUIC/UDP) |
|---|---|---|
| 底层传输 | TCP | UDP+QUIC |
| 队头阻塞 | 有(TCP 全局阻塞) | 无(流隔离) |
| 握手延迟 | 高(TCP+TLS 多轮) | 低:1-RTT / 0-RTT |
| 网络切换 | 断连需重连 | 连接无感迁移 |
| 加密 | 分层 TLS,有明文阶段 | 全程内置加密,无明文 |
| 多路复用 | 支持 | 更强、更隔离 |
| 拥塞控制 | 依赖系统内核 | 用户态可灵活升级 |
| 防火墙穿透 | 部分设备拦截 | UDP 443 穿透性更好 |
| 协议演进 | 依赖系统内核 | 应用态快速迭代 |
七、HTTP/3 优势总结
- 弱网表现极强:移动网络、跨境网络、高延迟高抖动场景体验碾压 HTTP/2;
- 网页/App 加载更快:首屏、接口请求、图片视频加载延迟显著降低;
- 网络切换不掉线:移动端刚需;
- 安全性更高:默认全程加密,无明文握手;
- 部署生态成熟:Chrome、Firefox、Safari、Nginx、Caddy、所有主流 CDN 全支持;
- 适配现代业务:短视频、直播、微服务、跨境访问、移动端接口。
八、HTTP/3 缺点与局限性
- UDP 被部分严苛防火墙/运营商限流(少见,但企业内网可能存在);
- 内网传统监控、抓包分析工具对QUIC 解密支持不如 TCP/TLS;
- 服务端配置、内核参数、负载均衡需要专门适配;
- 老旧嵌入式设备、极低端 MCU 协议栈支持差。
九、典型应用场景
- 移动端 App 接口、小程序、H5 网页
- 短视频、直播、大文件分发、CDN 加速
- 跨境业务、跨国访问、高延迟网络环境
- 微服务网关、边缘计算、云服务接入
- 实时业务:信令、低延迟接口、长连接推送
十、一句话极简概括
HTTP/3 = 换掉 TCP,改用 UDP+QUIC+TLS1.3;解决了 TCP 队头阻塞、握手慢、网络切换断连三大顽疾,是移动互联网、弱网、跨境场景下的下一代标准 HTTP。