什么是 HTTP/3?HTTP/3 主要优势是什么?
时间:2024-05-14 00:30:01 | 来源:建站知识
时间:2024-05-14 00:30:01 来源:建站知识
网络的发展永远不会停滞不前。随着新技术的发展,消费者行为发生变化,支撑互联网的核心基础设施被迫适应。
HTTP 协议——用于在客户端和服务器之间传输数据——已经经历了许多不同的迭代,所有这些都通过新的和令人兴奋的特性增强了核心功能。
在 1997 年采用 HTTP/1.1 和 2015 年采用HTTP/2时隔 18 年之后,发展步伐加快,仅在三年后提交了 HTTP/3提案草案。
什么是 HTTP/3?
HTTP/3 的核心是对用于管理文件传输的底层传输层的彻底改造。
它代表了从 TCP(传输控制协议)到 UDP(用户数据报协议)的转变,解决了几个 TCP 限制并提高了用户的性能和安全性。
尽管它仍在等待发布前的最终审查,但73%的网络浏览器已经支持该协议。
一旦 Safari 将其作为核心功能,这个数字将显着增加;目前,它是实验性的,必须通过开发者菜单启用。
HTTP/3 协议已被 25% 的前 1000 万网站使用。
HTTP/3 相对于 HTTP/2 和 HTTP/1 的主要优势是什么?
要充分了解 HTTP/3 的优势,有必要回过头来了解 HTTP/1.1 的工作原理,以及 HTTP/2 旨在解决的问题。
发送时,文件(HTML、JS、CSS、图像等)被分解成更小的、单独的数据包,数据随着时间的推移而传输。
HTTP/1.1 旨在为每个文件提供自己的连接。随着网站变得越来越复杂,需要更多的文件来加载每个页面。
浏览器限制了可用的并行连接数量,从而造成瓶颈并减慢加载时间。这导致了一些必要的变通方法来最大化性能,例如域分片和图像精灵。
通过引入多路复用,HTTP/2 解决了由连接限制引起的问题,允许通过单个连接传输多个文件。
另一个主要改进是引入了更好的标头压缩,以及一些在实践中证明不太成功的其他功能。
然而,这些改进并没有解决 TCP 协议的所有问题。
TCP按时间顺序传输数据包,这意味着如果丢失了数据包,则整个连接将保持不变,直到成功接收到数据包。这个问题,被称为线头阻塞,否定了多路复用的一些好处。
TCP 的另一个挑战是它完全脱离了 TLS 协议。这是设计使然,因为网站可能既安全又不安全。
因此,服务器和客户端在传输数据之前必须进行多次往返来协商连接。
HTTP/3 如何解决这些问题?
通过从 TCP 迁移到 UDP,HTTP/3 引入了三个使其与 HTTP/1.1 和 HTTP/2 不同的主要特性。
独立字节流 HTTP/3 通过为单个文件引入独立的字节流来解决行头阻塞问题。在重新发送丢失的数据包时,仅阻止单个流的数据,而不是整个连接。
为了进一步说明这一点,值得回想一下Tom Anthony在他关于 HTTP/2(现已更新为HTTP/3)的开创性演示中使用的奇妙的卡车类比。
基本前提是,使用 HTTP/1.1,最终会有多辆卡车在同一条道路上排队(连接)。
HTTP/3 简介,2022 年 4 月
相比之下,HTTP/2 允许多辆卡车同时在同一车道上。
HTTP/3 简介,2022 年 4 月
不幸的是,使用 TCP 时,如果卡车熄火,整条道路都会被阻塞,直到卡车再次开始行驶。
HTTP/3 简介,2022 年 4 月
使用 HTTP/3 和 UDP,其他卡车可以绕过它。
TLS 集成 通过将 TLS 1.3 并入 HTTP/3 本身,而不是让两个不同的协议独立运行,只需一次握手即可将往返次数从两次(或如果使用 TLS 1.2,则为三次)减少到一次。
这一变化意味着更快、更安全的用户连接。
此更改的一个后果是 HTTP/3 只能在安全站点上使用,因为 TLS 和 UDP 紧密交织在一起。有趣的是,HTTP/2 并非如此,从技术上讲,它可以在不安全的站点上使用——尽管没有一个主要的浏览器允许您这样做。
连接迁移 HTTP/3 不是使用 IP 来路由数据包,而是使用连接 ID。
通过这样做,它可以处理网络更改而无需重新建立连接。
这在移动优先的世界中非常有利,用户经常在 wifi 和蜂窝网络之间切换,无论是在速度还是连接稳定性方面。
回到我们的卡车类比,这就像来到一个路口,必须再次排队才能继续前进到下一条道路。
使用 HTTP/3,有一条支路,允许您在两者之间无缝交换。
HTTP/3 有什么缺点吗?
尽管 HTTP/3 有一些明显的性能优势,但它的批评者强调了几个缺点。
首先,该协议将为快速连接的用户提供有限的好处,最慢的 1% 到 10% 的用户获得了大部分收益。
但是,就 Core Web Vitals 而言,这实际上可能是非常有益的。
CWV 分数是全球性的,因此完全有可能被遥远地理位置的特定用户子集拉低。
同样,在移动优先的世界中,即使设备速度快且地理位置接近的用户也可能会遇到暂时的网络问题,这可能会对 CWV 产生不利影响。
您的用户的移动性越高,产生影响的可能性就越高。
另一个抱怨是切换到 HTTP/3 需要相当大的服务器升级,因为它从根本上改变了传输层的工作方式。
此外,UDP 的使用还引入了更高的 CPU 要求,这可能会给服务器带来更大的压力。
这两个论点都是公平的,但目前正在优化 CPU 使用率。
此外,正如我们将在下面的实施部分中看到的,许多 CDN 提供商已经提供了相对简单的 HTTP/3 解决方案,可以轻松地部署在边缘。
HTTP/3 对 SEO 重要吗?
虽然百度自2020 年起就支持 HTTP/2 ,但现在有一半的网址是使用该协议抓取的,但它目前不支持 HTTP/3。
HTTP/2 仅在这样做有明显好处时使用,即,当使用 HTTP/2 会为服务器和搜索机器人节省大量资源时。
这无疑会随着时间的推移继续增加,但鉴于 HTTP/2 协议的发布和搜索机器人支持之间的五年差距,HTTP/3 可能还有一段路要走。
也就是说,实施 HTTP/3 仍可能对 SEO 产生间接影响——如果支持该协议会带来更好的SEO得分。
升级您的服务器基础架构以支持 HTTP/3(或者,就此而言,HTTP/2)只是您可以用来确保您的网站尽可能高性能的众多潜在增强功能之一。
拥有一个高性能网站的好处,包括降低跳出率、增加网站停留时间和更高的转化率,提升SEO效果。
如何检查网站是否支持 HTTP/3
如果您不确定某个网站是否支持 HTTP/3,那么您可以使用以下在线工具进行检查:https://http3check.net/
或者,Chrome 和 Firefox 都在开发工具网络选项卡中显示每个请求的协议。
这些字段默认不可见,但可以通过右键单击导航栏并选择“协议”来启用。HTTP/3 请求标记为“h3”。
也可以使用命令行和curl进行检查。
curl --http3 https://website.com/
由于许多网站只会为页面资源(通常托管在 CDN 上的那些)启用 HTTP/3,因此使用开发工具将提供更准确的图片并让您更好地评估可用的机会。
如何实现 HTTP/3?
到目前为止,启用 HTTP/3 的最简单方法是通过CDN。
包括Cloudflare、Google Cloud和Fastly在内的几家主要供应商 已经支持该协议。
根据 W3Techs 的数据,前 1000 万个网站中有22%使用 Cloudflare,您可以在仪表板中轻松启用 HTTP/3。
如果您不确定要处理的技术堆栈,请使用 Builtwith 或 Wappalyzer 并查看是否列出了 CDN。
如果一个站点正在使用 Cloudflare,并且所有请求都是 HTTP/2,那么您已经找到了一个简单而有效的建议。
如果无法通过 CDN 实现,则需要更改服务器。
根据所使用的语言,可以使用各种实现,但 Web 服务器尚未普遍采用这些实现。
因此,实现 HTTP/3 的可行性可能取决于您使用的软件类型。
服务器 HTTP/3 支持,2022 年 4 月
不幸的是,32%的 Web 服务器使用 Apache,但由于开发资源有限,它尚未开始提供支持。
同样,由于缺少OpenSSL 支持,在 Node 上启用该协议需要一种解决方法。
Windows (IIS) 是最新提供本机协议的提供商,但它需要Windows Server 2022 和 Windows 11 或更高版本。
总结
HTTP/3 是 Web 向前迈出的又一重要一步,它将提供急需的性能提升以支持其持续发展。
作为 SEO 和网络营销专业人士,我们应该知道该协议在即将发布之前带来的好处,因此我们可以开始推荐它的使用,并让我们的用户在未来几年获得好处。