HTTP/3.x

警告
本文最后更新于 2024-01-16,文中内容可能已过时。

HTTP/3.x

关于 HTTP 协议3.x版本的基本概念,以及其解决的问题,请看《HTTP 协议基础》的HTTP/3.0小节,这里就不重复了。

HTTP/2.0 解决了 HTTP 协议层面并发和 HTTP 这一层面的队头阻塞问题,但是因为所有传输数据的压力并没有消失,而是转移到底层依赖的一个 TCP 连接之上,tcp 协议天生就是一种为了保证可靠性的传输协议,其性能瓶颈主要在三次握手和丢包后重传,比如在传输过程中,一旦丢包,会触发 TCP 重传机制,这个时候一个 TCP 连接中的其他所有的请求都必须等待,直到丢的包被重传回来;这就会出现因为丢包而阻塞整个连接的请求。

TCP 协议天生存在队头阻塞问题,TCP 一旦丢包(没有收到 ACK 信号),就会触发 TCP 重传机制,我们《用电信号传输 TCP/IP 数据 —— 探索协议栈和网卡》的收发数据小节中我们就学习过 TCP 重传,并且专门写了文章《TCP 超时与重传》来解释 TCP 的超时重传问题。

因此因此 HTTP/3.0 应运而生。HTTP/3.0引入了基于 UDP 的 QUIC 协议

我们在《用电信号传输 TCP/IP 数据 —— 探索协议栈和网卡》的UDP 协议的收发操作小节简单学习过 UDP

但是这个协议还很新,先不用。

0%