Nginx
為最有效的文件記憶體添加哪些標頭?
所以我在我的 nginx 伺服器上有這個靜態文件的響應頭。
Cache-Control:max-age=2592000 Connection:keep-alive Date:Sat, 11 Dec 2010 22:28:13 GMT Expires:Mon, 10 Jan 2011 22:28:13 GMT Last-Modified:Sat, 11 Dec 2010 22:11:35 GMT Server:nginx/0.6.32
我想刪除伺服器簽名以減少響應大小。我應該在我的伺服器配置中添加什麼以使瀏覽器使用文件甚至不向伺服器發出請求並總體上使其盡可能高效?目前我可以這麼快地在伺服器上獲取 js:http: //i55.tinypic.com/orrons.png
編輯: 我知道添加了這個屬性: add_header cache-control public; 響應頭是這樣的:
Cache-Control: max-age=31536000 Cache-Control: public
因為我已經過期了 1y;也設置。有沒有辦法加入他們?
我還檢查了 facebook javascript 文件響應,他們使用了這些技術:
HTTP/1.1 200 OK Content-Type: application/x-javascript; charset=utf-8 Last-Modified: Sat, 01 Jan 2000 00:00:00 GMT Pragma: Content-Encoding: gzip X-Cnection: close Content-Length: 11724 Vary: Accept-Encoding Cache-Control: public, max-age=31239788 Expires: Thu, 08 Dec 2011 23:43:19 GMT Date: Sun, 12 Dec 2010 10:00:11 GMT Connection: keep-alive
Vary 屬性做了什麼?我想我會像他們一樣應用多年前的最後修改。
這與記憶體無關,但由於您將您的標題與 facebook 的標題進行比較,我認為您關心的是改善您網站的使用者體驗。
我從您的標題中看到的一個缺失是壓縮。nginx 和其他 Web 伺服器允許您在將內容髮送到客戶端之前對其進行壓縮,從而顯著減少總數據傳輸量。
您可以使用下面的連結在您的 nginx 實例上配置壓縮。
http://www.devcha.com/2010/02/enable-gzip-compression-of-nginx.html
進行壓縮時,請務必處理不能很好地處理壓縮的舊 MSIE 瀏覽器。相關文章中有更多資訊
其次,如果可能的話,為您的靜態內容使用不同的域。這將減少客戶端請求的大小,因為不會傳遞 cookie。範例 Yahoo 使用 yimg.com 作為其靜態內容,即 JS、CSS、圖像