HTTP/3详解

 主页   资讯   文章   代码 

‎有序交付

QUIC的单个数据流可以保证有序交付,但多个数据流之间可能乱序。这意味着单个数据流的传输是按序的,但是多个数据流中接收方收到的顺序可能与发送方的发送顺序不同!

举个例子:服务器传送流A和B到客户端。流A先启动,然后是流B。在QUIC中,丢包只会影响该包所处的流。如果流A发生了一次丢包,而流B没有,流B将继续传输直到结束,而流A将会进行丢包重传过程。而在HTTP/2中这不可能发生。

下图展示了连通两个QUIC端点的单一连接中的黄色与蓝色的数据流。它们互相独立,所以可能乱序到达,但是每个流内的信息将按序可靠到达。

两台电脑间的两个QUIC数据流