天天看點

nginx expires 配置詳解

配置expires

expires起到控制頁面緩存的作用,合理的配置expires可以減少很多伺服器的請求

要配置expires,可以在http段中或者server段中或者location段中加入

1

2

3

4

<code>       </code><code>location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ {</code>

<code>           </code><code>root </code><code>/var/www/img/</code><code>;</code>

<code>           </code><code>expires 30d;</code>

<code>       </code><code>}</code>

控制圖檔等過期時間為30天,當然這個時間可以設定的更長。具體視情況而定

比如

<code>       </code><code>location ~ \.(wma|wmv|asf|mp3|mmf|zip|rar|swf|flv)$ {</code>

<code>               </code><code>root </code><code>/var/www/upload/</code><code>;</code>

<code>               </code><code>expires max;</code>

expires 指令可以控制 HTTP 應答中的“ Expires ”和“ Cache-Control ”的頭标(起到控制頁面緩存的作用)

文法:expires [time|epoch|max|pff]

預設值:off

expires指令控制HTTP應答中的“Expires”和“Cache-Control”Header頭部資訊,啟動控制頁面緩存的作用

time:可以使用正數或負數。“Expires”頭标的值将通過目前系統時間加上設定time值來設定。

time值還控制"Cache-Control"的值:

負數表示no-cache

正數或零表示max-age=time

epoch:指定“Expires”的值為 1 January,1970,00:00:01 GMT

max:指定“Expires”的值為31 December2037 23:59:59GMT,"Cache-Control"的值為10年。

-1:指定“Expires”的值為目前伺服器時間-1s,即永遠過期。

off:不修改“Expires”和"Cache-Control"的值

expires使用了特定的時間,并且要求伺服器和用戶端的是中嚴格同步。

而Cache-Control是用max-age指令指定元件被緩存多久。

對于不支援http1.1的浏覽器,還是需要expires來控制。是以最好能指定兩個響應頭。但HTTP規範規定max-age指令将重寫expires頭。

本文轉自 tanzhenchao 51CTO部落格,原文連結:http://blog.51cto.com/cmdschool/1704397,如需轉載請自行聯系原作者

繼續閱讀