2015-11-05 100 views

回答

18

是,Nginx的支持HTTP/2服務器推送自version 1.13.9,於2月20日公佈,2018年,這是不支持

Nginx的團隊在原有1.9.5 blog post指出那時候。

+0

爲V 1.11.4的13,這仍然是正確的。 –

+0

什麼時候服務器推送的新聞將被添加到nginx?等待這麼糟糕... – n1try

-5

您需要爲nginx plus訂閱https://www.nginx.com/blog/http2-r7/付費。

Apache提供它是免費的

https://httpd.apache.org/docs/2.4/mod/mod_http2.html#h2push

+1

從您的網址:「此版本不支持HTTP/2 RFC中定義的」服務器推送「功能,未來的NGINX Plus版本可能會包含它。」 –

+0

我發佈了兩個URL,哪一個表示不支持它? –

+0

從第一個鏈接開始:「本版本不支持HTTP/2 RFC中定義的」服務器推送「功能,未來的NGINX Plus版本可能會包含它。 –

14

編輯:

Nginx的支持,因爲v1.13.9 HTTP/2服務器推送,於2月20日公佈,2018年

較舊的回答:

N截至2017年3月,ginx不支持HTTP/2服務器推送(v1.11)。

歐文加勒特在nginx的總結原因如下:

  • 是HTTP/2

  • 的非必需和可選部分,如果客戶端已經擁有資源的緩存,然後通過推送給他們,你可能會不必要地浪費帶寬。

  • 服務器推送規格可能在未來發生變化。

  • 作爲提示的鏈接頭是有用的,但Web開發人員的使用率很低。

  • 服務器推送已作爲SPDY的一部分提供,並未被許多Web開發人員使用。

閱讀他的原始評論here。這table準確地描述了服務器提示與服務器推送的pro和con。

個人而言,這令我感到失望,因爲我認爲這對於願意投入時間優化頁面速度的Web開發人員來說是一項寶貴功能。我也知道一些像Cloudflare這樣的大型CDN在nginx中實現了自己的版本來優化頁面下載。

對HTTP/2服務器推送
+1

這並不是真正意義上的浪費帶寬。推送對象的標題首先被髮送(在請求頁面之前),以便客戶端應該有一些時間來取消服務器推送。 – StephenKing

+0

@StephenKing如果實現了服務器推送,客戶端在與服務器推送相關的幀已經到達之前可能不會得到重置的機會。所以這可能是浪費。但是,有幾個明顯的解決方案不會推送可能被緩存的資產,包括使用cookie和簡單的日誌歷史記錄。 –

+8

我愛歐文說「網絡開發者的使用率一直很低」 - 這不是因爲Nginx不支持它嗎?! – developius

3

支持已被添加到nginx的爲2月8的,2018:2016年9月

https://hg.nginx.org/nginx/rev/641306096f5b

+0

我只是試了一下,效果很好 - 你可以設置你的靜態內容(直接由NGINX服務器)以及後端(只要後端通過鏈接標題通告鏈接)。我記錄了我在這裏學到的內容:https://ops.tips/blog/nginx-http2-server-push/ –