Nginx 1.25.0 主线版发布,实验性 HTTP/3 支持插图

Nginx1.25.0 主线版来了,竟然只有一条更新日志:实验性 HTTP/3 支持。不过这个 HTTP/3 支持估计对于国内使用 CDN 的站点来说可能没有多大意义,因为国内 CDN 支持 HTTP/3 的凤毛麟角,如果使用 CloudFlare 的话也没有这方面的需求,毕竟 CloudFlare 很早就已经支持 HTTP/3 了。

Nginx 是一个高性能的开源 Web 服务器和反向代理服务器。它最初由 Igor Sysoev 开发,现在由 Nginx Inc. 进行维护。Nginx 可以处理高并发的连接请求和数据传输,同时拥有出色的稳定性和高可靠性。Nginx 的优势在于其高效的内存管理和事件驱动模型。它能够支持更多的并发连接,而且在高负载情况下也能保持高性能和稳定性。此外,Nginx 还具有灵活性和可扩展性,因为它可以通过各种模块进行扩展,以满足不同的需求。什么是 HTTP/3?

HTTP 是互联网的重要骨干——它决定了通信平台和设备如何交换信息和获取资源。简而言之,正是它让用户能够加载网站。HTTP/3 是一项新的开发标准,它将影响 Web 浏览器和服务器的通信方式,并显著提升用户体验,包括性能、可靠性和安全性。在第一个超文本传输协议 (HTTP) 于 1991 年发布后,随后的迭代在不对底层代码做任何变更的前提下使网站速度更快。

HTTP/3 将是自 2015 年 HTTP/2 获得批准以来对超文本传输协议的第一次重大升级。HTTP/3 的一个重要区别是它在一种新的传输协议 QUIC 上运行。QUIC 专为移动密集型互联网使用而设计,在这种环境中,人们携带的智能手机会在一天中不断地从一个网络切换到另一个网络。开发第一个互联网协议时情况并非如此:当时设备的便携性较差,且不经常切换网络。QUIC 的使用意味着 HTTP/3 依赖于用户数据报协议 (UDP),而不是传输控制协议 (TCP)。切换到 UDP 将使在线浏览时的连接速度和用户体验更快。QUIC 协议由 Google 于 2012 年开发,并在互联网工程任务组 (IETF)(一个厂商中立的标准组织)开始创建新的 HTTP/3 标准时采用。在咨询了世界各地的专家之后,IETF 进行了许多更改以开发自己的 QUIC 版本。

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

QUIC 将帮助修复 HTTP/2 的一些重大缺点:

  • 开发一种方法来解决当智能手机从 WiFi 切换到蜂窝数据时(例如离开家或办公室时)性能缓慢的问题
  • 减少丢包的影响——当一个信息包没有到达目的地时,它不会再阻塞所有的信息流(称为“队头阻塞”的问题)

其他好处包括:

  1. 更快的连接建立:QUIC 允许 TLS 版本协商与加密和传输握手同时发生
  2. 零往返时间 (0-RTT):对于它们已经连接的服务器,客户端可以跳过握手要求(互相确认和验证以确定它们将如何通信的过程)
  3. 更全面的加密:QUIC 的新握手方式将默认提供加密,这是对 HTTP/2 的巨大升级,并将有助于减轻攻击的风险