Administrator
发布于 2023-03-28 / 504 阅读
83
0

关于队头阻塞(Head-of-Line blocking)

文章来自:https://zhuanlan.zhihu.com/p/330300133

您可能已经听说,经过4年的工作,新的 HTTP/3 和 QUIC 协议终于接近正式标准化。预览版现在可以在服务器和浏览器中进行测试。

与 HTTP/2 相比,HTTP/3 有很大的性能改进,这主要是因为它将底层传输协议从 TCP 改为基于 UDP 的 QUIC。在这篇文章中,我们将深入了解其中的一项改进,即消除“队头阻塞”(Head-of-Line blocking, 简写:HOL blocking)问题。这很有用,因为我读过很多关于这实际上意味着什么以及它在现实中有多大帮助的误解。解决队头阻塞也是 HTTP/3 和 QUIC 以及 HTTP/2 背后的主要动机之一,因此它也为协议演进的原因提供了一个极好的视角。

我将首先介绍队头阻塞问题,然后在整个 HTTP 历史中跟踪它的不同形式。我们还将研究它如何与其他系统交互,如优先级和拥塞控制。我们的目标是帮助人们对 HTTP/3 的性能改进做出正确的判断,而这(剧透)可能不像营销材料中所说的那样令人惊讶。

目录:

  1. 什么是队头阻塞?
  2. HTTP/1.1 的队头阻塞
  3. HTTP/2(基于 TCP)的队头阻塞
  4. HTTP/3(基于 QUIC)的队头阻塞
  5. 总结与结论

彩蛋内容:

  1. 彩蛋:HTTP/1.1 管道
  2. 彩蛋:TLS 队头阻塞
  3. 彩蛋:传输拥堵控制
  4. 彩蛋:多路复用是否重要?

评论