超文本传输协议版本2,或HTTP/2,是HTTP的最新标准。协议的更新将提高web通信的速度、效率和安全性。然而,这种转变不是自动的。
本文旨在让您了解HTTP/2对您意味着什么,以及如何配置您的网站或服务器以利用这些新功能。
对于普通用户来说,从HTTP/1.1到HTTP/2的更改是不可见的。
所有浏览器都需要有效的传输层安全(TLS)证书才能通过HTTP/2为网站提供服务。因此,除了更快的页面加载之外,网站安全性也将有所提高。
对于web设计者和所有者,HTTP/2可以提高站点在所有设备上的加载速度。
每个现代浏览器都已经支持新的协议标准(尽管这些移动浏览器不支持HTTP/2)。但是,如果浏览器或服务器不支持HTTP/2,则会自动使用HTTP/1.1标准。
HTTP/2中引入的更改将影响我们如何优化网站和服务器以提高效率和速度。
HTTP/2中引入的新特性将允许我们忽略HTTP/1的许多变通方法和优化技术。这包括不再将脚本内联到HTML或组合文件以减少服务器请求。域分片也不再有用。
在某些情况下,如果使用HTTP/2,这些变通方法甚至会对页面速度产生负面影响。
大多数互联网流量是基于移动的,所以考虑移动互联网速度,并保持您的媒体文件小,并优化这些设备。您还应该继续缩小JavaScript(JS)、HTML和CSS。
如果您不确定为什么要缩小您的文件,那么我们的文章将是一个良好的开端,介绍如何以及为什么缩小您的JavaScript。
如果您不熟悉本文中提到的术语,这里有一个简短的介绍
内联脚本是使用<;将JavaScript直接添加到HTML文档中;脚本>;标签。在HTML/1.1中,这将消除小的JavaScript文件,并将减少服务器请求和更快地加载脚本。
由于多路复用、流优先级和服务器推送,减少文件数量不再是HTTP/2中页面速度的大问题。
多路复用是HTML/2中的一项新功能,它允许通过单个传输控制协议(TCP)连接传输多个数据流。
数据流是一个HTML/2术语,用于双向数据流。由于每个流的唯一标识符,我们可以对其进行优先级排序,这将帮助我们优化数据交付。
流优先级是HTML/2中的另一个新特性。这使我们能够告诉服务器为优先级数据流分配资源和带宽。从而确保向客户最佳地提供高优先级内容。
域分片是在多个站点或域之间分割网站资源的行为,以绕过HTML/1.1中的同时下载限制。
在HTML/2中,多路复用和服务器推送将比域分片更快、更高效地同时下载。事实上,目前还不支持跨多个域使用这些功能。
服务器推送将允许服务器针对单个客户端请求发送多个响应。简而言之,服务器可以假设浏览器加载页面需要哪些文件,而不需要浏览器专门请求这些文件。
现在,我们将重点讨论网站所有者为优化HTTP/2网站所做的一些更改。要更深入地了解这些概念,请阅读我们的前一篇文章:“什么是HTTP/2,它如何影响互联网的未来?”。
作为网站所有者,您应该注意的主要变化与如何处理网站资源有关。特别是关于您网站的服务器将如何与浏览器通信,以及文件是如何传递的。
下面是优化HTTP/2网站最常见的更改。
您不应再连接或合并您的网站资源。在HTTP/1.1中,这将减少显示网站所需的HTTP请求和文件的数量。
每个HTTP请求都会增加延迟,因此在HTTP/1.1中,下载单个文件通常比下载多个文件更有效。更少的文件也有助于绕过HTTP/1.1中同时下载的限制。
由于HTTP/2允许在没有多个服务器请求的情况下进行多次下载,因此在优化速度时,文件的数量就不那么重要了。结合缓存,HTTP/2中的特定文件更好。
实际上,更具体的文件允许您从内容交付网络(CDN)和用户的浏览器缓存为大多数网站提供服务。这也意味着当你对你的网站做一些小的调整时,浏览器不必从你的服务器下载和解析一个大文件。
在HTML文档中嵌入CSS和JS文件将提高HTTP/1.1中的页面加载速度。与合并文件一样,它将减少文件数量和服务器请求。
当使用HTTP/2时,HTML中的内联脚本将通过删除浏览器单独缓存资产的功能,降低缓存中的页面速度优化。
它还将打破流优先级的任何改进,因为所有嵌入的脚本和内容将获得与HTML内容相同的优先级。
与其内联资产以减少HTTP请求,不如利用多路复用和服务器推送。这将允许浏览器以较少的请求下载更多的资源,并提高页面的加载速度。
简言之,在可能的情况下,保持资源的独立性和小型化。
图像精灵是由许多较小的图像组成的图像(如上图所示)。CSS然后指定要显示的图像部分。
与大多数HTTP/1.1解决方案一样,我们使用图像精灵部分是为了减少服务器请求。在HTTP/2中,您可以安全地使用单独的图像,而不会对页面的加载速度产生负面影响。
由于多路复用和服务器推送,较小的文件****更快,效率更高。
域分片用于规避HTTP/1中的同时下载限制。此限制通常为每个域4到8个,浏览器设置此限制的部分目的是减少DDOS攻击。
例如,在HTTP/1.1中,将您的网站分为四个域理论上可以在四分之一的时间内提供资源。
由于HTTP/2的多路复用,不再需要域分片。
请注意,浏览器无法利用HTTP/2中跨多个域的多路复用和并行下载。分片还将破坏HTTP/2的流优先级,进一步降低使用HTTP/2的好处。
HTTP/2最显著的改进可能是服务器推送。
在HTTP/1.1中,当您请求查看页面时,服务器将首先发送HTML文档。然后,您的浏览器将开始对此进行解析,并分别请求文档中提到的CSS、JS和媒体文件。
在HTTP/2中,服务器推送允许服务器将所需资源推送到浏览器,而无需单独请求。这包括CSS和JavaScript文件以及媒体,将减少HTTP请求并加快页面加载。
Smashing杂志提供了一个关于HTTP/2服务器推送的非常全面的指南,深入了解了它的工作原理以及如何启用它。
大多数服务器实现已经支持HTTP/2。但是,如果您使用的是共享主机,则需要与服务器管理员确认他们是否已激活HTTP/2。如果您好奇,GitHub提供了一个支持HTTP/2的服务器实现列表。
Nginx服务器具有对HTTP/2的本机支持,而您可能需要配置Apache服务器以启用HTTP/2支持。
如果您的网站启用了HTTPS(HTTP/2要求),您可以在http2.pro上检查您的网站是否使用HTTP/2交付。也就是说,如果您使用Cloudflare作为CDN,那么他们服务器上的任何内容都可以通过HTTP/2提供,而无需进行任何更改。
WordPress特定的主机有时会限制您可以进行的配置更改,尤其是在其较低层服务中。也就是说,我们建议您的WordPress站点使用Bluehost。Bluehost提供免费的SSL和CDN,并将通过HTTP/2为您的网站提供服务。
HTTP/2是对以前标准的一个巨大改进,现在您应该对实现它所带来的好处有了一些了解。
启用的网站将加载更快,更安全,这也将提高您的搜索排名。HTTP/3已经在进行中,将您的网站配置为HTTP/2将使您最终更顺利地跳转到HTTP/3。
除了为http/2设置网站之外,还应该考虑这些方法来提高网站的加载速度。
Join our newsletter for tech tips, reviews, free ebooks, and exclusive deals!
Click here to subscribe
... 同时,谷歌声称AMP页面使用的数据比同等的非AMP页面少10倍。因此,它可以帮助您保存数据,如果你在一个封顶的数据连接。 ...
...果你正努力在家里获得一个强大的Wi-Fi信号,你可以考虑使用电力线适配器。他们一定帮了我! ...
...要绕过地理限制访问地区封锁的视频和音乐。虽然您可以使用VPN来实现这一点,但还有另一种更简单的方法。 ...
... 以前的协议标准HTTP/1.1从1997年开始使用,它混合使用了一些笨拙的解决方法来改进HTTP的局限性。 ...
... 该项目承诺了更高的性能、更高的参与度和更少的数据使用,这对用户和发布者都有利。 ...
...3秒,人们甚至可能在主页加载之前就放弃了它。对图片使用错误的格式很容易使你的网站膨胀,并破坏原本良好的浏览体验。 ...
... 在web上,通常使用安全套接字层(SSL)证书建立安全连接。这些可能令人困惑,部分原因是关于它们有许多你根本不应该相信的神话。让我们揭穿一些更常见的! ...
...查站点是否安全,尤其是电子商务页面。一些用户甚至会使用虚拟专用网(VPN)来确保保持良好的安全级别。 ...
... WebRTC是一个开源项目,允许网站使用点对点(P2P)通信运行实时音频和视频通信。万维网联盟(W3C)负责其标准化。 ...