瀏覽器快取機制

2021-09-13 10:36:46 字數 983 閱讀 6400

當我們開啟控制台反覆重新整理的時候,可能會看到狀態碼含有304的請求,這種型別的請求代表伺服器沒有給我們返回資料,而是取用的是瀏覽器快取中的資料。所以該狀態碼代表使用快取。

這裡就要涉及到我們的請求頭響應頭中的內容了。

etags是響應頭中的內容,而if-none-match是請求頭中的內容。

etagsif-none-match的工作原理是在http response中新增etags資訊。當客戶端再次請求該資源時,將在http request中加入if-none-match資訊(etags的值)。如果伺服器驗證資源的etags沒有改變(該資源沒有改變),將返回乙個304狀態,然後瀏覽器得知是304狀態,就去瀏覽器快取中取資料,否則,伺服器將返回200狀態,並返回該資源和新的etags

last-modified是響應頭中的內容,if-modified-since是請求頭中的內容

這兩個配合使用和上面說的etagsif-none-math使用用方法一樣。last-modified代表的時候伺服器返回的該資源最後修改的時間。

請求頭部和響應頭部中都可以包含該欄位,該字段是用來設定瀏覽器快取的保留時間,它可以設定為以下值

該屬性表示內容保質期,表示存在時間,允許客戶端在這個時間之前不去檢查(發請求),等同max-age的效果。但是如果同時存在,則被cache-controlmax-age覆蓋。

瀏覽器快取機制

最近在準備優化日誌請求時遇到了一些令人疑惑的問題,比如為什麼響應頭里出現了兩個 cache control 為什麼明明設定了 no cache 卻還是發請求,為什麼多次訪問時有時請求裡帶了 etag,有時又沒有帶?等等。後來查了一些資料以及同事親自驗證,總算對這些問題有了個清晰的理解,現在整理出來以...

瀏覽器快取機制

當我們瀏覽乙個頁面發現有異常時,通常考慮的就是書不是瀏覽器做了快取呢,按ctrl f5重新請求一次就能請求到沒有快取的頁面,這個是為什麼呢。首先,ctrl f5組合鍵重新整理頁面,那麼瀏覽器會直接向目標url傳送請求,而不再使用瀏覽器快取的資料。其次,當請求到達伺服器端依然有可能出現使用伺服器端的資...

瀏覽器快取機制

瀏覽器快取機制 瀏覽器快取機制,其實主要就是 協議定義的快取機制 如 expires cache control 等 但是也有非 協議定義的快取機制,如使用 html meta 標籤,web 開發者可以在 html 頁面的節點中加入 標籤,如下 上述 的作用是告訴瀏覽器當前頁面不被快取,每次訪問都需...