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