您可能会在SEO诊断报告中看到 HTTP/2,但它到底是什么以及如何使用 HTTP/2 进行 SEO?
在本指南中,您将了解它是什么以及它是如何工作的,HTTP/2 的优缺点,以及如何实现它以帮助实现您的页面速度目标。
什么是 HTTP/2?
HTTP/2 是一种协议,用于管理发出请求的浏览器和包含请求信息的服务器之间的通信。它于 2015 年正式标准化,之前是 HTTP/1,它已经为 Web 服务了超过 15 年。
谷歌已经在2020年11月开始通过HTTP/2抓取网站,百度应该也开始通过HTTP/2抓取网站。这意味着搜索爬虫不需要像以前那样花太多时间来抓取您的服务器。
什么是协议?
协议本质上是一组规则,用于管理客户端和服务器之间的请求。它通常由三个主要部分组成:页眉、有效负载和页脚。
报头包括网页的源和目的地址,以及尺寸和类型的信息。
有效负载是将要传输的信息。
页脚是将请求路由到预期的接收者,并确保数据在传输到浏览器时没有错误。
HTTP/2 与 HTTP/1 的工作方式有何不同?
对于HTTP请求的方式我们可以打个比方:一辆卡车代表从客户端到服务器的请求,卡车行驶的道路就是网络连接。一旦携带来自浏览器的请求的卡车到达服务器,它就会加载响应并将其携带回浏览器。
HTTPS为这些响应添加了一层保护,以确保没有人能够查看卡车内部以查看其包含的内容,例如个人数据或敏感信息。
这里的主要问题是发出请求的卡车不能超过带宽。他们还必须以一致的速度行驶,无论请求有多大以及他们必须行驶多远才能到达。
另一件需要考虑的事情是,大多数网站需要一系列的请求和响应才能加载一个页面。例如,图像文件、CSS 和/或 JavaScript 文件也可能有自己的依赖项,这需要在浏览器和服务器之间进行更多的旅程。
通过 HTTP/1 发出请求时,每辆卡车都需要自己的道路,对于某些请求也需要进行新的网络请求。这一切都会增加延迟。
通常,一次只能同时建立六个连接,导致其他请求被迫等待网络连接空闲。
HTTP/2
这就是 HTTP/2 可用于对请求行为产生积极影响的地方。
此外,Multiplex 功能意味着一次可以在一条道路上行驶更多的卡车,因此网络连接能够更快地处理更多请求并提供更多响应。
这些请求和响应的内容保持不变;它们只是以稍微不同的方式处理。
HTTP/2 的另一个有用功能是服务器推送,这意味着服务器能够同时响应多个响应的请求。
例如,假设我们需要将 CSS 和 JavaScript 文件与 HTML 一起返回;这些都可以同时发送,而不需要单独发送到浏览器。
HTTP/2 技术特性
HTTP/2 建立在与 HTTP/1 相同的语法上,这意味着该协议与其说是完全迁移,不如说是一次更新。这是一个深思熟虑的决定,目的是使过渡尽可能无缝。
HTTP/2 的主要特性包括:
二进制非文本
HTTP/2 引入了对转换协议的更改,从文本到二进制以完成请求到响应的循环。将执行相同的任务,只是使用二进制命令——1 和 0,而不是文本。
这样做是为了简化命令的实现,并意味着它们更容易生成和解析。
多路复用
多路复用允许通过单个连接一次发出多个请求。这会将有效载荷分解为更小的序列,通过单个连接解析和传输它们,然后在它们到达浏览器之前重新组合它们。
此更改的主要目的是解决资源消耗请求的问题,并帮助防止请求和响应阻塞其他请求。
标头压缩
标头压缩旨在减少 HTTP/1 中慢启动机制带来的开销。
由于大多数网站都有丰富的图形和内容,客户端请求会导致多个几乎相同的标头帧被发送回浏览器,这可能导致延迟和不必要的消耗已经有限的网络资源。
标头压缩机制提供了压缩大量冗余标头帧的能力,并允许服务器维护先前请求中使用的标头列表。本质上,标头将被编码在一个压缩块中并一起发送到客户端。
服务器推送
这使得可能使用的资源在被请求之前被推送到浏览器的缓存中。预计在未来请求中的信息或资源(基于先前的请求)也将一起发送,而不是等待另一个客户端响应。
这可以防止需要另一个请求和响应往返,并旨在减少用于加载页面的多个资源所带来的网络延迟。
流优先级
流优先级是根据分配给每个数据流的依赖关系和权重,优先考虑特定数据流。
这允许服务器根据最终用户的要求优化资源分配。
HTTP/2 和 HTTPS
对 HTTP/2 的支持只能通过加密连接获得,这意味着它需要 HTTPS。不出所料,两者在很多方面相辅相成。
它不仅提高了用户和应用程序的安全性,而且还需要更少的 TLS 握手,从而降低客户端和服务器端的资源消耗。
HTTP/2 的优点
自然,作为更新的技术,HTTP/2 确实带来了一些好处。
更新到 HTTP/2 不是迁移,不需要更改 URL。这是一项协议更改,不需要 SEO 方面的太多努力。
我在下面从 SEO 的角度探讨了四个最大的好处,但是,这个列表并没有详尽描述 HTTP/2 的整体优势。
网络性能
HTTP/2 中的一些新功能旨在提高网站的性能并帮助节省抓取网站所需的资源。
例如,多路复用意味着请求和响应不会相互阻塞,这有助于减少延迟并反过来提供更快的 Web 性能。
每个通信请求发送和接收更多数据的能力是性能优势的另一个实际例子。
此外,流优先级可实现有效的资源利用,从而减少向用户传送内容请求所花费的时间。
移动性能
除了整体 Web 性能外,还可以通过 HTTP/2 提高移动性能。这是因为它是在当今使用趋势的背景下设计的,移动绝对是??。
多路复用和报头压缩特别有助于减少访问网页的延迟,这也可以在带宽有限的移动网络中看到。
从本质上讲,HTTP/2 以以前仅适用于桌面用户的方式优化了移动用户的 Web 体验,包括性能和安全性。
改善用户体验
由于上述性能改进,用户体验也将受到 HTTP/2 的积极影响。快速加载的网站可以提高客户满意度和整体品牌知名度,这已经不是什么秘密了。
如果页面加载时间从 1 秒变为 3 秒,跳出率概率会增加32%,而 HTTP/2 只是您可以帮助提高加载速度的一种方式。
提高安全性
由于 HTTP/2 需要通过 HTTPS 提供服务,它将确保所有网站都经过加密和保护。
此外,它还有助于确保应用程序本身免受任何恶意攻击,这些攻击可能导致网站受到处罚或可能完全从搜索结果中删除。
SEO的优势
当然,所有这些结合起来也会对 SEO 产生积极影响。
虽然使用 HTTP/2 不会直接提升排名,但这些因素将间接影响用户体验,从而提升排名。
它们还会影响网站在搜索中的可见性以及客户转化。
HTTP/2 的缺点
与所有技术一样,HTTP/2 也带来了一些缺点供您考虑。
一个负面因素是并非所有浏览器都支持 HTTP/2。值得注意的是,到2015年底,大部分主流浏览器都增加了对新协议的支持;但是,值得确保您的用户访问站点的浏览器受支持。Caniuse.com显示了哪些浏览器支持 HTTP/2,有需要的朋友可以去查看一下。
由于服务器推送功能,可能会因数据可能发送到浏览器但并未实际使用而浪费带宽。
仅仅因为加载页面的请求可能需要特定资产,或者可能预计会发出另一个请求,并不总是意味着它会。这意味着不必要的资源可能会被发送到浏览器。
此外,由于多路复用会导致服务器一次接收大量请求的短脉冲,这有可能使服务器不堪重负,尤其是在它们没有受到限制的情况下。由于使用的是二进制格式而不是 HTTP/1 中使用的文本格式,因此调试过程中也可能会有轻微的延迟和复杂性。
实现 HTTP/2
升级到 HTTP/2 最终取决于您的服务器。如果您目前无法支持 HTTP/2,请咨询您的服务器管理员或托管服务提供商。
如果您的服务器能够支持 HTTP/2,它可能会自动通过新协议提供内容。您可以通过确保您使用的 CDN也支持 HTTP/2 并且您拥有最新的 HTTPS 证书来确保您的服务器能够支持它。
您可以使用站点http2.pro测试您的服务器是否能够支持 HTTP/2 。这将告诉您您的服务器是否支持 HTTP/2、ALPN 和 Server-push。
此外,您可以在 Chrome Dev Tools 中检查当前通过 HTTP/2 提供哪些资源。
重新加载页面并查看为页面加载的请求列表,在协议列中,您将看到哪些资源是通过 HTTP/2 返回的。谷歌浏览器将此称为 h2。
如果您的站点尚未使用 HTTP/2,它可以作为您网站的加分项,赶快去设置吧。