什么是 HTTP/3?

HTTP/3 是超文本传输协议 (HTTP) 的下一个主要版本。它将提高速度、安全性和可靠性。

学习目标

阅读本文后,您将能够:

  • 了解在 HTTP/3 中预计会有哪些改进
  • 认识到协议将如何塑造用户体验
  • 描述预期的安全效益

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是 HTTP/3?

超文本传输协议 (HTTP) 是互联网的重要骨干,它决定着通信平台和设备交换信息和获取资源的方式。简而言之,正是它让用户能够加载网站。

HTTP/3 是 HTTP 的最新主要版本。Web 浏览器和服务器可以利用它来显著升级用户体验,包括提高性能、可靠性和安全性。实现 HTTP 版本的无缝切换,无需更改网站代码。

HTTP/3 中有什么新内容?

自 2015 年 HTTP/2 获得批准以来,HTTP/3 是 HTTP 的首次重大升级。它于 2021 年发布,并且可供所有 Cloudflare 客户使用。

HTTP/3 的重要区别在于,它使用一种新的传输协议 QUIC 来运行。QUIC 旨在提供快速连接,支持迅速切换网络。QUIC 依赖用户数据报协议 (UDP) 而不是传输控制协议 (TCP),因此,它可以缓解 TCP 中的“队头阻塞”问题,这种情况下的网络数据包丢失或重新排序会减慢高交易连接的速度。此外,QUIC 会将第 4 层传输连接与第 3 层 IP 流分开,允许在不同网络之间迁移,且连接不中断或受到干扰。

QUIC 可以更好地支持频繁的移动设备互联网使用场景,因为人们会携带智能手机,并在日常活动中不断地从一个网络切换到另一个网络。在制定第一个互联网协议 (IP) 时,这种互联网使用场景并不常见:当时的设备便携性较差,而且用户不常切换网络。

2012 年,Google 开始开发 QUIC 的早期版本。2016 年,互联网工程任务组 (IETF) 在开始创建新的 HTTP/3 标准时采用了它,IETF 是一个供应商中立的标准化组织。经过与世界各地专家的磋商,IETF 做了大量修改,制定了 QUIC 的最新标准版本,也就是发布的 RFC 9000

为什么需要一个新版本的 HTTP?

QUIC 有助于修复 HTTP/2 的一些重大缺点:

  • 减少数据包丢失的影响:如果一个信息数据包没有到达目的地,它不会再阻塞所有信息流,也称为“队头阻塞”问题
  • 加快建立连接的速度:QUIC 组合使用了加密和传输握手
  • 往返时间 (0-RTT):对于它们已经连接的服务器,客户端可以跳过握手要求(互相确认和验证以确定它们将如何通信的流程)
  • 更全面的加密:QUIC 默认加密,使 HTTP/3 比 HTTP/2 更加安全(详见下文)
  • 使用适用于流(“流”是指单个 HTTP 请求和响应交换)的信用系统,让 HTTP/3 服务器能够对流并发进行精细控制,以此来防范 HTTP/2 Rapid Reset 分布式拒绝服务 (DDoS) 攻击,攻击可能会降低网络服务器运行速度或导致服务器崩溃
  • 开发一种方法,解决智能手机从 WiFi 切换到蜂窝数据(例如离开家或办公室)时性能缓慢的问题

什么是默认加密?

要求在传输层(而不是在应用层)加密,对安全具有重要意义。这意味着,连接将始终被加密。以前,在 HTTPS 中,加密与传输层连接是单独发生。TCP 连接可以携带加密或未加密的数据,TCP 握手与传输层安全 (TLS) 握手是不同的事件。而在 QUIC 中,默认情况下会在传输层设置加密连接,因此,应用层的数据将始终被加密。

QUIC 通过将两次握手操作整合为一次握手操作来实现加密,从而减少延迟,因为应用程序在发送数据之前只需等待完成一次握手。它还会加密每个连接的元数据,包括数据包号和标头的一些其他部分,防止攻击者获得用户行为的信息。HTTP/2 无法提供此功能,因为它依赖于 TCP 和 TLS。

过去,HTTP 使用的是明文 TCP,这会对安全性产生负面影响,因为监测通信的任何人都可以读取请求和响应。如今,网站和 Web 浏览器更倾向于加密所有 HTTP 通信,以帮助提高安全性并保护每个人的敏感数据。QUIC 的默认加密功能为实现该目标提供支持。

HTTP/3 现在可用吗?

是。HTTP/3 已成为所有主流 Web 浏览器实施的标准,并且可由所有 Cloudflare 客户自行启用,无需进行任何源更改。了解如何切换

Cloudflare Radar 维护着 HTTP 版本使用情况的最新统计数据。