緩存漫談-瀏覽器端的緩存

瀏覽器與服務器交互,都是靠http(https)協議來完成的。如何高效的把一些數據緩存在瀏覽器端,一直是一個話題。瀏覽器需要與服務器協商來完成緩存的過程,瀏覽器不能私自緩存。
瀏覽器的刷新有三個級別:
  1. Ctrl+f5強制刷新,不用任何緩存。
  2. f5,發出請求,一般帶上Last-Modified或者ETag數值,瀏覽器如果接受到304,那就用本地緩存,如果是200,那就用返回的內容。
  3. 單擊轉到,或者通過超鏈接跳轉到此頁面。瀏覽器會使用所有沒有過期的內容(Expires標誌的)。
協商一、基本是通過Last-Modified或者ETag來協商,具體就是瀏覽器發出請求,服務器會返回一個304的狀態碼。表示可以用本地緩存。
協商二、如果想徹底消滅緩存,需要用Expires,在第三個刷新級別下,壓根就不請求服務器了.

此處注意的是,如果我以前設置的過期時間比較長,現在有內容更新了,瀏覽器不請求服務器,怎麼辦呢?如果是一些js、css等,可以通過添加版本號解決。如果是網頁等,基本沒有好的解決辦法,需要合理設置時間,不過客戶大部分情況下,對於網頁,用戶還是經常f5的,所以也不需要擔心了。
發佈了76 篇原創文章 · 獲贊 109 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章