如何設置強緩存的失效時間
A. 瀏覽器緩存及刷新
1、伺服器開啟Cache-Control緩存控制(優先順序更高)
(相對時間,在這個時間之前不會和伺服器通信,本地拿過來直接用)
Cache-Control:max-age=3600,這里是3600秒過期,過期前不會和伺服器通信,直接用本地緩存
Cache-Control:no-cache,不使用本地緩存
2、伺服器開啟Expires(過期時間,絕對時間)
Expires:Thu,21 Jan 2017 23:39:02 GMT
1、Last-Modified(伺服器返回此文件最後修改時間)
If-Modified-Since(客戶端第二次請求該資源帶著上次伺服器返回的此文件最後修改時間,比對是否相同)
2、Etag(優先順序更高)(第一次請求資源伺服器返回一個Etag值)
If-None-Match(第二次請求資源客戶端帶著之前的Etag值給伺服器進行比對)
如果多個參數同事存在時:
強緩存優先順序更高,而在強緩存中,Cache-Control比Expires優先順序高
協商緩存中,Etag比Last-Modified優先順序高
1、正常操作:地址欄輸入url,跳轉鏈接,前進後退等
2、手動刷新:F5,點擊刷新按鈕,右鍵菜單刷新
3、強制刷新:ctrl+F5
1、正常操作:強制緩存有效,協商緩存有效
2、手動刷新:強制緩存失效,協商緩存有效
3、強制刷新:強制緩存失效,協商緩存失效
B. jenkins緩存失效時間
您可以通過設置緩存過期時間來控制緩存內容的過期時間,當緩存內容到期後才能回源請求最新的內容,不同節點單獨計算。例如您設置的緩存過期時間為24小時,當有人訪問某個節點且該節點緩存開始,24小時後該節點緩存資源到期,用戶下次訪問該節點會重新回源請求資源,如果源站有內容變化就會更新節點內容,如果源站內容無更新,將繼續使用之前的緩存,並重新計算緩存過期時間。如果您設置的緩存過期時間為0,那麼CDN所有節點都不會緩存資源,每次訪問都需要回源請求。CDN允許最大緩存過期時間為365天。您也可以通過提交刷新請求來強制緩存內容過期。緩存配置的詳細信息請參考緩存配置。您說的緩存失效時間,刷新的時候並不會生效,因為實際上瀏覽的是緩存的頁面,並沒有載入新寫的JS,緩存失效過了之後會重新讀一遍就會把新寫的js讀進去了,這個一般都是項目和伺服器配置,跟前端無關。