HTTP

每一代 HTTP 处置了什么疑问?下图说明了关键特色。

HTTP 1.0 于 1996 年定型并构成完整文档。对同一主机的每个恳求都须要独自的 TCP 衔接。

HTTP 1.1 于 1997 年发布。TCP 衔接可以坚持放开以便重复经常使用(耐久衔接),但这并不能处置 HOL(Head of Line)阻塞疑问。

HOL 阻塞 - 当阅读器准许的并行恳求数用完时,后续恳求须要期待前一个恳求成功。

HTTP 2.0 于 2 年发布。它经过恳求复用途理了 HOL 疑问,消弭了运行层的 HOL 阻塞,但传输(TCP)层仍存在 HOL。

如图所示,HTTP 2.0 引入了 HTTP “流”的概念:这是一种形象概念, 准许在同一 TCP 衔接上复用不同的 HTTP 替换 。每个流无需按顺序发送。

运行场景:

HTTP 3.0 第一稿于 2020 年发布。它是 HTTP 2.0 的后续版本。它经常使用 QUIC 替代 TCP 作为底层传输协定,从而消弭了传输层中的 HOL 阻塞。

QUIC 基于 UDP。它将流作为一等公民引入传输层。QUIC 流共享同一个 QUIC 衔接,因此创立新的 QUIC 流无需额外的握手和慢进行,但 QUIC 流是独立传输的,因此在大少数状况下,影响一个流的数据包失落不会影响其余流。

运行场景:

您可能还会对下面的文章感兴趣: