MST

星途 面试题库

面试题:网络编程中HTTP/3协议是如何缓解队头阻塞问题的

在网络编程场景下,简述HTTP/3协议针对传统HTTP协议队头阻塞问题所采用的主要技术手段及原理。
49.1万 热度难度
后端开发网络编程

知识考点

AI 面试

面试题答案

一键面试
  • 主要技术手段:HTTP/3 采用了基于 UDP 的 QUIC 协议来解决队头阻塞问题。
  • 原理
    • 多路复用优化:与 HTTP/2 基于 TCP 的多路复用不同,QUIC 实现了真正的多路复用。在 TCP 中,一旦某个数据包丢失,整个连接的传输都会被阻塞,即使其他流有可用数据也无法发送,这就是队头阻塞。而 QUIC 每个流都有独立的序列号,各个流之间的数据包传输互不影响。当某一个流中的数据包丢失时,只会阻塞该流,其他流仍能正常传输数据,从而避免了因单个流的问题导致整体传输被阻塞。
    • 连接迁移:QUIC 支持连接迁移。在传统 TCP 连接中,若网络发生变化(如从 Wi-Fi 切换到移动数据网络),TCP 连接需要重新建立,这期间会造成数据传输的中断。而 QUIC 基于 UDP,通过唯一的连接 ID 来标识连接,当网络发生变化时,只要连接 ID 不变,就可以在新的网络环境下继续传输数据,无需重新建立连接,减少了因连接重建带来的阻塞和延迟,进一步避免了队头阻塞的发生。