瀏覽器緩存優先級依次爲上圖的從上到下 即: service worker > Cache Control > Expires > Etag > Last-Modified瀏覽器
一、頻繁變更的資源緩存
對於頻繁變更的資源,首先須要使用Cache-Control: no-cache 使瀏覽器每次都請求服務器,而後配合 ETag 或者 Last-Modified 來驗證資源是否有效。這樣的作法雖然不能節省請求數量,可是能顯著減小響應數據大小。服務器
二、不常變更的資源網絡
一般在處理這類資源時,給它們的 Cache-Control 配置一個很大的 max-age=31536000 (一年),這樣瀏覽器以後請求相同的 URL 會命中強制緩存。而爲了解決更新的問題,就須要在文件名(或者路徑)中添加 hash, 版本號等動態字符,以後更改動態字符,從而達到更改引用 URL 的目的,讓以前的強制緩存失效 (其實並未當即失效,只是再也不使用了而已)。cdn