近期,超文本传输协议新版本 HTTP/3 RFC 文档,已由互联网工程任务组(IETF)对外发布。HTTP/3 全称为 HTTP-over-QUIC,指在 QUIC(Quick UDP Internet Connections, 快速 UDP 互联网连接)上映射 HTTP 语义的通信过程。
RFC 文档指出,新型传输方式 QUIC 既包含 HTTP/2 功能,还完成了从 TCP(Transmission Control Protocol,传输控制协议)向 UDP(User Datagram Protocol, 用户数据报协议)的连接转型,兼具流式多路复用、分路流控、降低延迟、稳定性能、提高隐私性等特点。面向未来的 HTTP/3 和 QUIC, 既然有这么多优势,下面就来回顾一下它们的前世今生吧。
一、QUIC 源自何处
QUIC 使用 UDP 实现网络连接前,互联网上绝大多数网络连接的底层协议使用的都是 TCP,但它存在一定的局限性——很难完成对 TCP 的更改。即使制造商编写了支持新 TCP 功能的软件,也很难升级所有的旧设备。
为了改善 TCP 的局限与延迟情况,谷歌在2013年首次宣布推出 Google QUIC,并内嵌于谷歌浏览器和其它服务中。而在2016年,Akamai 便部署了 Google QUIC,仅用2年时间便实现了与谷歌相近体量的 QUIC 端点部署,以此传输全球流量。
二、QUIC 全新内涵
Akamai 在应用 QUIC 多年后,QUIC 如今又有了哪些更新呢?自 IETF 2016年成立 QUIC 工作组,打造标准化流程持续更新该协议后,目前已实现十多个开源 IETF QUIC 版本,核心特征表现如下:
三、HTTP 多版本共存
如果您看到上述 RFC 文件集不含 HTTP/3 描述,无需惊讶。这是因为 HTTP/3 规范是在 QUIC 工作组中,共同开发并同步提交的。事实上,核心 HTTP 语义在不同的版本间并不会改变,也没有弃用其他版本,因为每个版本都适用于不同的用例。
推广新版本的同时,也会存在阻止 UDP 的部分网络服务,会造成无法使用 HTTP/3。这种情况下,您仍然可以在这些网络上使用基于 TCP 的 HTTP 版本,即 HTTP/1.1 和 HTTP/2 仍然会受到 IETF 关注,因此它们也将与 HTTP/3 保持共存。
四、“迈”向未来
自 QUIC 标准化设计伊始,IETF 便对依托 Akamai 平台进行未来协议开发而倍感兴奋。回顾 Akamai 科技创新历程,为不断提高应用程序性能、改善用户网络使用体验,我们已开发和部署了多种基于 UDP 的传输协议。
作为第一个部署 Google QUIC 的分布式云计算平台,Akamai 在业务开发过程中,积极沉淀创新经验,为技术规范和开源生态系统持续贡献力量,其中包含兼容 OpenSSL 与 IETF QUIC 的开发工作;同时我们也联动微软将这一成果落地为 quictls,已被应用于微软 MsQuic 堆栈以及 Node.js, cURL。
五、结语
综上所述,HTTP/3 和 QUIC 的焕新升级,为下一代互联网提供了一个全新起点。作为以保障全球网络性能与安全为己任的云服务公司,Akamai 在联动合作伙伴或客户研究、部署、优化传输协议时,将充分应用 HTTP/3 和 QUIC 技术框架,来加强隐私保护、加速数据传输、改善网络延迟。
当下,我们向 HTTP/3 RFC 文档发布表示庆贺。未来,Akamai 也将着眼于实际应用场景,赋能千行百业、驱动数字化转型升级,为全球数十亿用户打造美好的数字化生活体验。