导航菜单

下一个版本的HTTP将不会使用TCP

导读 超文本传输​​协议 (HTTP) 的下一个版本——定义浏览器如何与 Web 服务器通信的网络协议——将在当前使用的版本中做出重大突破。今天
2021-12-28 10:22:45

超文本传输​​协议 (HTTP) 的下一个版本——定义浏览器如何与 Web 服务器通信的网络协议——将在当前使用的版本中做出重大突破。

今天的 HTTP(版本 1.0、1.1 和 2)都位于 TCP(传输控制协议)之上。TCP 定义为 IP(互联网协议)层核心集的一部分,通过 IP 网络提供可靠、有序和错误检查的数据传输。“可靠”是指在传输过程中,如果某些数据丢失(由于硬件故障、拥塞或超时),接收端可以检测到并要求发送端重新发送丢失的数据;“有序”是指按照数据传输的顺序接收数据;“错误检查”意味着可以检测到传输过程中的任何损坏。

这些都是诸如 HTTP 之类的协议所需要的所有特性和必要条件,但 TCP 被设计为一种一刀切的解决方案,适用于需要这种可靠性的任何应用程序。它没有特别针对 HTTP 用于的场景类型进行调整。例如,TCP 需要在客户端和服务器之间进行多次往返才能建立连接;使用 TCP 上的 SSL 需要后续往返来建立加密连接。专为 HTTP 构建的协议可以结合这些协商并减少往返次数,从而改善网络延迟。

相反

在不断努力使 Web 网络更快的过程中,Google 一直致力于开发一种名为 QUIC 的实验性网络协议:“Quick UDP Internet Connections”。QUIC 放弃了 TCP,而是使用其兄弟协议 UDP(用户数据报协议)。UDP 是 TCP 的“对立面”;它是不可靠的(从一端发送的数据可能永远不会被另一端接收到,而另一端无法知道某些东西丢失了),并且它是无序的(后发送的数据可以超过前发送的数据,到达乱七八糟)。然而,UDP 非常简单,新协议通常建立在 UDP 之上。

QUIC 恢复了 TCP 的可靠性和顺序,但没有引入相同数量的往返和延迟。例如,如果客户端重新连接到服务器,客户端可以在第一个数据包中发送重要的加密数据,使服务器能够使用与先前协商的相同加密来恢复旧连接,而无需任何额外的往返。

互联网工程任务组(IETF——协作设计网络协议的行业组织)一直致力于创建 QUIC 的标准化版本,目前该版本与 Google 的原始提案有很大差异。IETF 还希望创建一个使用 QUIC 的 HTTP 版本,以前称为 HTTP-over-QUIC 或 HTTP/QUIC。然而,HTTP-over-QUIC 并不是 HTTP/2 over QUIC;它是为 QUIC 构建的 HTTP 的一个新的更新版本。

相应地,IETF 的 HTTP 工作组和 QUIC 工作组的 Mark Nottingham 提议将 HTTP-over-QUIC 重命名为 HTTP/3,该提议似乎已被广泛接受。下一个版本的 HTTP 将把 QUIC 作为一个必不可少的、不可或缺的特性,这样 HTTP/3 将始终使用 QUIC 作为其网络协议。

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢:

最新文章: