1. 程式人生 > >Nginx設定expires設定頁面快取時間 不快取或一直使用快取

Nginx設定expires設定頁面快取時間 不快取或一直使用快取

配置expires
expires起到控制頁面快取的作用,合理的配置expires可以減少很多伺服器的請求
要配置expires,可以在http段中或者server段中或者location段中加入

       location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ {
           root /var/www/img/;
           expires 30d;
       }

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

       location ~ \.(wma|wmv|asf|mp3|mmf|zip|rar|swf|flv)$ {
               root /var/www/upload/;
               expires max;
       }

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頭。

摘自:https://www.qiansw.com/nginx-expires.html