首页
Preview

使用 HTTP/3 协议告别缓慢的加载时间!

浏览器和主要的 HTTP 服务器如何利用这个新协议。

基于 QUIC 的 HTTP

HTTP over QUIC(Quick UDP Internet Connection)是一种结合了HTTP/3应用层协议和QUIC传输层协议的新协议。它由 Internet 工程任务组 (IETF) 开发,用于提高 Web 性能、安全性和可靠性。

QUIC 是一种传输层协议,与传统上用于 HTTP 的协议 TCP 相比具有许多优势。与 TCP 需要三次握手来建立连接不同,QUIC 使用单次握手来建立加密和连接。这减少了连接设置时间,从而可以提高性能。

QUIC 还支持多路复用,允许通过单个连接发送多个数据流。这减少了加载网页所需的往返次数,从而可以进一步提高性能。

HTTP/3 是 HTTP 协议的最新版本,用于 Web 浏览器和服务器之间的通信。HTTP/3 专为与 QUIC 配合使用而设计,利用其功能进一步提高网络性能。与 HTTP/2 一样,HTTP/3 支持多路复用,但它还包括其他改进,例如标头压缩。

怎么运行的

以下架构概述了 HTTP over QUIC 的主要组件和流程:

客户端向服务器发起QUIC连接:客户端向服务器发送QUIC握手包,建立连接。这包括加密参数,例如用于加密的公钥和算法。 服务器响应 QUIC 数据包:服务器响应 QUIC 数据包,其中包含加密参数并确认连接已建立。 客户端通过 QUIC 连接发送 HTTP 请求:客户端使用已建立的 QUIC 连接向服务器发送 HTTP 请求。此请求包括 HTTP 方法(例如 GET、POST)、请求的 URL 和任何必要的标头。 服务器通过 QUIC 连接发送 HTTP 响应:服务器使用 HTTP 响应响应客户端的 HTTP 请求,包括请求的内容和任何必要的标头。 客户端和服务器继续通过 QUIC 连接交换数据:客户端和服务器可以继续通过已建立的 QUIC 连接交换数据,对多个请求和响应使用相同的连接。 连接已关闭:客户端或服务器可以关闭连接,从而终止 QUIC 会话。 总体而言,HTTP over QUIC 通过将 QUIC 传输层协议的速度和可靠性与 HTTP/3 应用层协议的高级功能相结合,提供了更快、更可靠和更安全的 Web 体验。

QUIC 协议和谷歌浏览器 HTTP over QUIC 的一个例子是在 Google 的 Chrome 浏览器中使用 QUIC 协议。Chrome 使用 QUIC 来加快网页加载速度并改善用户体验。当用户访问网站时,如果 Chrome 支持该协议,Chrome 会与服务器建立 QUIC 连接。

一旦建立了 QUIC 连接,HTTP/3 用于在浏览器和服务器之间发送和接收数据。这包括对网页的请求,以及包含网页内容的响应。

使用 QUIC 和 HTTP/3 可以加快网页加载时间,特别是对于移动用户和互联网连接速度慢或不可靠的用户。QUIC 减少的连接建立时间和内置的拥塞控制有助于防止延迟和提高可靠性,而 HTTP/3 在多路复用和标头压缩方面的改进可以进一步加快页面加载速度。

其他网络浏览器和服务器也开始采用 HTTP over QUIC,因此我们可以期待在不久的将来看到越来越多的使用它的例子。

支持 QUIC 的 HTTP 服务器

目前有几个 HTTP 服务器支持 QUIC,包括:

  • NGINX — NGINX 在 2020 年 6 月发布的 1.19.0 版本中添加了对 QUIC 的实验性支持。该支持基于 Google QUIC 库,默认情况下未启用。
  • Caddy — Caddy 是一个支持 HTTP/2、HTTPS 和 QUIC 的开源 HTTP 服务器。它为配置和管理服务器设置提供了一个简单易用的界面。
  • Apache — Apache 是世界上使用最广泛的 Web 服务器之一,它最近在 2021 年 6 月发布的 2.4.48 版本中添加了对 QUIC 的实验性支持。该支持基于 mod_http3 模块,而不是默认启用。
  • LiteSpeed — LiteSpeed 是一种高性能的 Web 服务器,支持 HTTP/2、HTTP/3 和 QUIC。它提供高级缓存和优化功能,有助于进一步提高 Web 性能。

其他 Web 服务器也开始添加对 QUIC 的支持,因此我们可以期待在不久的将来看到更多可用选项。

感谢你的阅读!😄

随意👏,分享和关注!🙏

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
marco
暂无描述

评论(0)

添加评论