HTTP/3是什么

Fanly 2021-04-20 12:30:52
问答

HTTP/3 是第三个主要版本的 HTTP 协议,使用于万维网。与其前任 HTTP/1.1 和 HTTP/2 不同,在 HTTP/3 中,将弃用 TCP 协议,改为使用基于 UDP 协议的 QUIC 协议实现。

HTTP/3 是即将到来的第三个主要版本的 HTTP 协议,使用于万维网。与其前任 HTTP/1.1 和 HTTP/2 不同,在 HTTP/3 中,将弃用 TCP 协议,改为使用基于 UDP 协议QUIC 协议实现。

HTTP3 协议

HTTP/3 的基础即谷歌多年探索的基于 UDPQUIC 协议。与 TCP 相比,使用 UDP 可以提供更大的灵活性,并且可以使 QUIC 完全于用户空间中实现——对协议实现的更新不像 TCP 那样需要绑定到操作系统更新。使用 QUIC,可以简单地将 HTTP 级别的流映射到 QUIC 流的顶部,从而继承 HTTP/2 的所有优点,而不会产生队头阻塞。HTTP/3 虽仍处于草案状态,但很多用户已经跃跃欲试。

优势

  • HTTP/3 利用 QUIC 加速 HTTP 请求,QUIC 提供比 TCP 和 TLS 更高的加密和性能
  • QUIC 是一种默认加密的新传输协议,旨在加快 HTTP 传输速度以及使其更加安全
  • HTTP/3 基于 UDP,如果数据包丢失,只会中断一个流,而不会中断所有流,提高了同时获取多个对象的性能
  • 支持 0-RTT,消除服务器的 TLS 确认,使后续连接的启动速度更快

此变化主要为了解决 HTTP/2 中存在的队头阻塞问题。由于 HTTP/2 在单个 TCP 连接上使用了多路复用,受到 TCP 拥塞控制的影响,少量的丢包就可能导致整个 TCP 连接上的所有流被阻塞。

QUIC(快速 UDP 网络连接)是一种实验性的网络传输协议,由 Google 开发,该协议旨在使网页传输更快。

在 2018 年 10 月 28 日的邮件列表讨论中,互联网工程任务组(IETF) HTTP 和 QUIC 工作组主席 Mark Nottingham 提出了将 HTTP-over-QUIC 更名为 HTTP/3 的正式请求,以“明确地将其标识为 HTTP 语义的另一个绑定……使人们理解它与 QUIC 的不同”,并在最终确定并发布草案后,将 QUIC 工作组继承到 HTTP 工作组。

在随后的几天讨论中,Mark Nottingham 的提议得到了 IETF 成员的接受,他们在 2018 年 11 月给出了官方批准,认可 HTTP-over-QUIC 成为 HTTP/3。

0个人收藏 收藏