网络的发展永远不会停滞不前。随着新技术的发展,消费者的行为发生了变化,支持互联网的核心基础设施被迫适应。
HTTP 协议-用于在客户端和服务器之间传输数据-经历了许多不同的迭代,所有这些都通过新的和令人兴奋的特性增强了核心功能。
1997年使用 HTTP/1.1 和 2015 年采用HTTP 18 年后,发展步伐加快,仅三年后就提交了 HTTP/3提案草案。
什么是 HTTP/3?
HTTP/3 的核心是彻底改造管理文件传输的底层传输层。
它代表 TCP(传输控制协议)到 UDP(用户数据报告协议)的转变解决了几个 TCP限制和提高用户的性能和安全性。
尽管它仍在等待发布前的最终审查,但73%的网络浏览器已经支持该协议。
一旦 Safari 作为核心功能,这个数字会显著增加;目前是实验性的,必须通过开发者菜单启用。
HTTP前 1000万网站已使用/3 协议。
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.二、三次)减少到一次。
这一变化意味着用户连接更快、更安全。
这种变化的后果之一是 HTTP由于 TLS 和 UDP 紧密交织在一起。有趣的是,HTTP/2 不是这样。从技术上讲,它可以在不安全的网站上使用——尽管没有主要的浏览器允许你这样做。
连接迁移
HTTP不使用 IP 路由数据包,但使用连接 ID。
命令行和也可以使用curl进行检查。
通过这样做,它可以处理网络更改而无需重新建立连接。
这在移动优先的世界中非常有利,用户经常在 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 --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 和网络营销专业人士,我们应该知道该协议在即将发布之前带来的好处,因此我们可以开始推荐它的使用,并让我们的用户在未来几年获得好处。