QUIC
QUIC 是一种在 UDP 上实现的多路复用传输协议。它用于代替 TCP 作为 HTTP/3 中的传输层。
QUIC 的设计目的是为 HTTP 连接提供更快的设置和更低的延迟。特别是
- 在 TCP 中,初始 TCP 三次握手之后可以选择进行 TLS 握手,该握手必须在数据传输之前完成。由于 TLS 现在几乎无处不在,因此 QUIC 将 TLS 握手集成到初始 QUIC 握手中,从而减少了设置期间必须交换的消息数量。
- HTTP/2 是一种多路复用协议,允许同时进行多个 HTTP 事务。但是,这些事务是在单个 TCP 连接上复用的,这意味着 TCP 层的丢包和随后的重传可能会阻塞所有事务。QUIC 通过在 UDP 上运行并为每个流分别实现丢包检测和重传来避免这种情况,这意味着丢包只会阻塞丢失数据包的特定流。