一句话定义:HTTP/3 是新一版的 HTTP 协议,它不再跑在 TCP 上,而是跑在 QUIC 之上,而 QUIC 本身是基于 UDP(用户数据报协议)用软件实现的可靠传输。
打个比方:从单车道隧道到多车道高速
传统上,网页和接口走的是 TCP(传输控制协议)。TCP 保证数据不丢、不乱序,代价是必须按顺序交付——像一条单车道隧道,前面一辆车抛锚,后面全得等着。
HTTP/2 为了提速,引入了多路复用(Multiplexing),在一条 TCP 连接上同时跑很多个请求。但问题也埋在这:这些流共享同一条连接,底层只要丢一个包,整条连接上所有流都要停下来等重传,这就是传输层的队头阻塞(Head-of-Line Blocking)。
对 AI 应用来说这一点很要命。同一个页面里,左边在流式吐 token,右边在拉图片或日志,只要丢一个包,两边一起卡住。
QUIC 的破法是:把"可靠性"从操作系统内核搬到应用层,自己用 UDP 实现超时重传、拥塞控制、流量控制,并且给每条流单独编号、单独重传。一条流丢包,只影响它自己。
另外三点改善:
- 建连更快:TCP 要先握手,再做 TLS 握手,一来一回;QUIC 把两者合并,首次连接往返更少,重连可以做到 0-RTT(Zero Round Trip Time)。
- 连接迁移(Connection Migration):TCP 连接靠「源 IP + 端口」标识,手机从 Wi-Fi 切到蜂窝网络,连接就断了。QUIC 用连接 ID 标识,换网时连接还在。
- 迭代更快:TCP 改在内核里,升级要等操作系统;QUIC 在用户态,浏览器和 CDN 厂商自己就能推新版本。
和相邻概念的区别
| HTTP/1.1 | HTTP/2 | HTTP/3 | |
|---|---|---|---|
| 底层传输 | TCP | TCP | QUIC(基于 UDP) |
| 多路复用 | 无 | 有 | 有 |
| 丢包影响范围 | 整条连接 | 整条连接 | 单条流 |
| 连接迁移 | 不支持 | 不支持 | 支持 |
QUIC 不等于 HTTP/3。QUIC 是传输层协议,HTTP/3 是「HTTP 语义 + QUIC 传输」的组合,QUIC 也能承载别的协议。也别把 HTTP/3 理解成"快几倍"的替换:在丢包少、延迟低的机房内网,它和 HTTP/2 差别很小,价值主要体现在网络抖动、丢包和移动切换的场景。
对从业者的实际意义
做 AI 产品:流式输出在弱网下更稳,用户不会因为进个电梯、过个隧道就整段重来。做后端和网关:反向代理、CDN、负载均衡对 QUIC 的支持程度和开关方式各不相同,是否启用、怎么回退到 HTTP/2,以各家官方文档为准。对普通职场人:网页版 AI 对话、云文档、视频会议在信号差时的卡顿感会轻一些,但具体体感取决于所用服务有没有真的部署 HTTP/3。
