HTTP/3.x

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

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