深入了解 QUIC 协议如何从根本上解决困扰互联网多年的性能和安全挑战,为您带来下一代网络体验。
HTTP/3 的核心在于 QUIC (Quick UDP Internet Connections) 协议。它放弃了传统 TCP,转而使用 UDP 传输,并在应用层实现了可靠性、流控制和拥塞控制。
这种转变使连接建立更快,并在协议内部集成了加密。
在首次访问后,QUIC 允许客户端使用缓存的安全参数,在极少数情况下实现 0-RTT (Zero Round-Trip Time) 连接建立。
这意味着您在发送连接请求的同时即可发送应用数据,大大减少了网络延迟,尤其对于重复访问用户,加载几乎是瞬时的。
在 TCP 和 HTTP/2 中,如果一个数据包丢失,整个连接上的所有流都会被暂停,等待该数据包重传。这被称为队头阻塞(HoL Blocking)。
QUIC 协议内部使用独立的流(Streams)来传输数据,一个流的阻塞不会影响其他流,实现了真正的并行传输,提高了复杂网站的稳定性和速度。
QUIC 连接不依赖于传统的 IP 地址和端口对。它使用一个 Connection ID (CID) 来识别连接。
当用户在移动中,从 Wi-Fi 切换到蜂窝数据,或 IP 地址发生变化时,QUIC 连接可以继续保持活跃,无需重新建立会话,大大改善了移动用户体验。
HTTP/2 使用 HPACK 进行头部压缩。由于 QUIC 的流是独立的(为了解决 HoL 阻塞),如果直接沿用 HPACK,可能会导致压缩状态混乱。因此,HTTP/3 引入了 QPACK 协议。
QPACK 针对 QUIC 协议进行了优化,允许在牺牲一点点压缩效率的前提下,实现头部字段的无阻塞传输,进一步提升了连接的并行性和性能。