QUIC
QUIC 是一种多路复用传输协议,实现于 UDP 之上。在 HTTP/3 中,它被用作传输层,取代了 TCP。
QUIC 的设计目的是为 HTTP 连接提供更快的建立速度和更低的 延迟。具体来说:
-
在 TCP 中,初始的 TCP 握手之后可选地会进行 TLS 握手,数据传输必须在 TLS 握手完成后才能开始。由于 TLS 目前已非常普及,QUIC 将 TLS 握手集成到了初始的 QUIC 握手中,从而减少了建立过程中必须交换的消息数量。
-
HTTP/2 是一种多路复用协议,允许多个 HTTP 事务同时进行。然而,这些事务是在单个 TCP 连接上多路复用的,这意味着 TCP 层面的数据包丢失和随后的重传会阻塞所有事务。QUIC 通过在 UDP 之上运行,并为每个流单独实现数据包丢失检测和重传,从而避免了这种情况。这意味着数据包丢失只会阻塞其数据包丢失的特定流。
另见
- 相关词汇表术语
- RFC 9000:QUIC 规范
- RFC 9114:HTTP/3 规范