使用 HTTP/2 Server Push 推送靜態文件加快 WordPress 頁面打開速度
HTTP/2 是新一代 HTTP 協議,其中最值得注意的特性就是服務器推送(Server Push)—— 一種可以讓服務器主動把內容推送到瀏覽器的方式。在瀏覽器還沒有意識到頁面需要之前,服務器就把這些元素預先推送到瀏覽器,通常推送的是 CSS 文件,JavaScript 腳本,圖片文件等鏡頭資源。頁面 HTML 加載之前,渲染頁面需要的靜態文件就加載好了,給網站用戶的感覺就是頁面瞬間打開了。
該插件給所有通過 Enqueued 註冊的 CSS 和 JS 文件添加了一個類似 Link:<...> rel="prefetch" 的
header 信息,服務器看到這個 Head 信息,就主動把這些信息里定義的文件推送到瀏覽器了。
插件目前不支持非 Enqueued 添加的腳本文件。遵循 WordPress 標準的主題和插件都會使用 Enqueued 註冊腳本文件。
該插件需要服務器支持 HTTP/2,如果服務器不支持HTTP/2,插件則會添加預存取信息 link prefetching 信息,這是所有現代瀏覽器都支持。
怎麼為服務器開啟 HTTP/2
而瀏覽器只在使用 TLS 連接(https:// 開頭的網址)時才支持 HTTP/2。
Nginx 尚不支持 Server Push
到 2017 年 11 月,Nnginx 還沒有加入 Server Push 支持,不過我們依然可以為 Nginx 開啟HTTP/2 支持,開源版本的 Nginx 從 1.9.5 版開始支持 HTTP/2,首先升級 Nginx 到1.9.5 以上的版本。如果你的 Linux 系統版本比較低,可能還需要升級 OpenSSL 到1.02b版本,然後在 Nginx Server 配置裡面加入 HTTP2 支持就可以了。
server {
listen 443 ssl http2;
server_name wpzhiku.com;
...
Apache 服務器開啟 HTTP/2
Apache 是在 2.4.17 之後才支持 HTTP/2 協議的。Apache 開啟 HTTP/2 相對來說要複雜一些,具體方法可參考 https://linux.cn/article-6720-1.html。
如果服務器支持不了 HTTP/2
並不是所有的 WordPress 站點都可以自定義服務器環境。如果服務器不支持 HTTP/2 環境,插件則會添加預加載信息到 Head 中,也能提高頁面打開速度。
原創文章,作者:超哥,如若轉載,請註明出處:https://www.chaoneo.cn/zh-hant/archives/557.html
如果您覺得超哥分享對您有所幫助的話,記得打賞給我😀