瀏覽器快取控制 nginx的expires設定

2021-07-26 07:07:44 字數 1234 閱讀 5050

對於**的,尤其是新聞站, 一旦發布, 改動的可能是非常小的.我們希望 能否在使用者訪問一次後, 快取在使用者的瀏覽器端,且時間比較長的快取.

可以, 用到 nginx的expires設定 .

nginx中設定過期時間,非常簡單,

在location或if段裡,來寫.

time:預設單位(s)

expires 30s;//快取30秒 s(second)代表秒

expires 2h;//快取2小時 h(hour)代表小時

expires 30d;//快取2小時 d(day)代表天

expires 12m;//快取12個月 m(month)代表月

epoch:指定「expires」的值為 1 january, 1970, 00:00:01 gmt。

max:指定「expires」的值為 31 december 2037 23:59:59 gmt,「cache-control」的值為10年。

-1:指定「expires」的值為當前伺服器時間-1s,即永遠過期。(負數:cache-control: no-cache,正數或零:cache-control: max-age = #(# 為您指定時間的秒數))

off:不修改「expires」和」cache-control」的值

(注意:伺服器的日期要準確,如果伺服器的日期落後於實際日期,可能導致快取失效)

另: 304 也是一種很好的快取手段

原理是: 伺服器響應檔案內容是,同時響應etag標籤(內容的簽名,內容一變,他也變), 和 last_modified_since 2個標籤值

瀏覽器下次去請求時,頭資訊傳送這兩個標籤, 伺服器檢測檔案有沒有發生變化,如無,直接頭資訊返回 etag,last_modified_since

瀏覽器知道內容無改變,於是直接呼叫本地快取.

這個過程,也請求了伺服器,但是傳著的內容極少.

對於變化週期較短的,如靜態html,js,css,比較適於用這個方式

瀏覽器快取控制

瀏覽器快取控制 last modified if modified since validation 在瀏覽器第一次請求某乙個url時,伺服器端的返回狀態碼200,內容是客戶端請求的資源,同時有乙個last modified的屬性標記此檔案在伺服器端最後被修改的時間。客戶端第二次請求此url時,根據...

瀏覽器的快取控制

瀏覽器在請求已經訪問過的url時,會判斷是否使用快取,而瀏覽器的快取控制分為強快取和協商快取 協商快取必須配合強快取使用。瀏覽器的第一次快取 首先瀏覽器第一次跟伺服器請求乙個資源,伺服器在返回這個資源和response header的同時,會根據開發者要求或者瀏覽器預設,在response的head...

瀏覽器與 nginx 快取

cache control public,max age 51600 connection keep alive content type text html charset utf 8 date tue,05 feb 2019 14 28 26 gmt expires wed,06 feb 201...