gpt4 book ai didi

http - HTTP/3 如何处理丢包?

转载 作者:行者123 更新时间:2023-12-04 16:38:44 28 4
gpt4 key购买 nike

HTTP/2 和 HTTP/3 之间的主要区别之一是从 TCP 切换到 UDP。
据我了解,TCP 通过验证没有数据包丢失来验证数据完整性。再次请求丢失的任何数据包以确保正确接收所有数据。
对于 UDP,没有这样的验证。如果数据包丢失,那就这样吧。
话虽如此,如果我在 HTTP/3 上发出请求并且数据包丢失,是否有一种机制可以确保我获得所有数据,或者我的响应是否有丢失数据包的风险?

最佳答案

If packets are lost then so be it.


不,对于 UDP,它不是“就这样吧”,而是取决于 UDP 之上的协议(protocol)是否关心数据包丢失、重复和重新排序。例如,对于 RTP(VoIP 等中的实时音频),丢失一些数据包是没有问题的,因为无论如何后来到达的数据包都没有用(音频必须是低延迟的)。重新排序和复制在 RTP 中使用协议(protocol)固有的序列号进行处理。
对于 HTTP/3,数据丢失是 Not Acceptable 。 HTTP/3 建立在 QUIC 之上,QUIC 建立在 UDP 之上。数据包丢失在 QUIC 中处理(参见 QUIC Loss Detection and Congestion Control)。因此,HTTP/3 基本上建立在可靠传输层 (QUIC) 之上,就像 HTTP/1 和 HTTP/2 建立在可靠传输层 (TCP) 之上一样。

关于http - HTTP/3 如何处理丢包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65253863/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com