a year ago
- HTTP/2通过单条TCP连接复用请求提高了效率,但仍存在队头阻塞和连接保持等问题。
- QUIC(快速UDP网络连接)由谷歌于2012年开发,通过基于UDP协议并内置可靠性机制,解决了TCP的局限性。
- QUIC使用独特的连接ID(CID)追踪连接,实现在不同网络间无缝切换而不断连。
- QUIC通过独立监控各数据流,消除队头阻塞——即使某流丢包,其他流仍可继续传输。
- QUIC将加密集成到握手过程中,相比TCP需要单独TLS握手,显著降低了延迟。
- QUIC握手过程会交换源/目标连接ID(SCID/DCID)、加密套件和证书以建立安全连接。
- QUIC数据包包含SCID、DCID和包序号的头部,以及用于多路复用的STREAM帧数据部分。
- HTTP/3专为QUIC设计,保留HTTP/2的流式架构,但将多路复用功能交由QUIC处理。
- HTTP/3定义了请求流、控制流和推送流,每种流都映射到QUIC流实现高效传输。
- HTTP/3帧类型包含DATA(数据)、HEADERS(头部)、SETTINGS(设置)和GOAWAY(连接终止)。
- QUIC与HTTP/3已获广泛应用,约34%的网站支持HTTP/3,包括主流平台和浏览器。