HTTP/2是新一代的HTTP协议,其最显著的特点是服务器推送——一种允许服务器主动将内容推送到浏览器的方式。在浏览器意识到页面的需要之前,服务器会提前将这些元素推送给浏览器,通常是推送CSS文件、JavaScript脚本、图片文件等镜头资源。在加载HTML页面之前,加载渲染页面所需的静态文件,给网站用户一种页面瞬间打开的感觉。
该插件添加了一个类似的链接到所有通过Enqueued注册的CSS和JS文件: <…& gtrel="prefetch "的头信息。当服务器看到这个头信息时,它会主动将这个信息中定义的文件推送到浏览器。
目前,插件不支持非排队添加的脚本文件。遵循WordPress标准的主题和插件将使用Enqueued来注册脚本文件。
该插件要求服务器支持HTTP/2。如果服务器不支持HTTP/2,插件会添加预访问信息链接预取信息,这是所有现代浏览器都支持的。
如何为服务器打开HTTP/2,浏览器在使用TLS连接时只支持HTTP/2(https://开头的URL)。
Nginx直到2017年11月才支持服务器推送。Nnginx没有加入服务器推送支持,但是我们还是可以为nginx开启HTTP/2支持。Nginx的开源版本从1.9.5版本开始支持HTTP/2。首先,将Nginx升级到1.9.5或以上版本。如果你的Linux系统版本较低,可能需要将OpenSSL升级到1.02b版本,然后在Nginx服务器的配置中加入HTTP2支持。
服务器{ listen 443 ssl http2服务器名wpzhiku.com;…Apache服务器启动HTTP/2Apache,2.4.17以后才支持HTTP/2协议。打开Apache HTTP/2比较复杂。具体方法请参考https://linux.cn/article-6720-1.html。
如果服务器不支持HTTP/2,并不是所有的WordPress站点都可以自定义服务器环境。如果服务器不支持HTTP/2环境,插件会在Head中加入预加载信息,这样也可以提高页面打开速度。