http快取機制之304狀態碼

2022-02-21 19:07:57 字數 508 閱讀 1596

在網上看到一篇關於解釋瀏覽器快取更新機制304狀態碼的文章,裡面說如果請求頭中的if-modified-since欄位和if-none-match欄位的值分別和響應頭中的last-modified欄位和etag字段值一致,伺服器就會返回304狀態碼(無響應體),瀏覽器就從本地讀取快取資料。

但實際上,伺服器是否返回304只根據請求頭中的if-none-match欄位和響應頭中的etag字段值做比較判斷,如果兩者的值一致則返回304,否則返回200

原理:請求頭中if-none-match欄位儲存的值是伺服器上一次返回的etag欄位的值,當請求的資源有更新伺服器返回響應頭中的etag值就會更新,如果當前返回的etag值與請求的if-none-match字段值不一致,則返回200,否則返回304。

HTTP 狀態碼 304 快取機制

客戶端第一次請求服務端的某個位址時,服務端會在響應時攜帶 etag 與 last modified 響應頭,客戶端下次再傳送同一位址的請求時,會攜帶 if none match 與 if modified since 請求頭,而if none match 就是 etag 的值,if modified...

HTTP狀態碼304快取機制

客戶端第一次請求服務端的某個位址時,服務端會在響應時攜帶 etag 與 last modified 響應頭,客戶端下次再傳送同一位址的請求時,會攜帶 if none match 與 if modified since 請求頭,而if none match 就是 etag 的值,if modified...

瀏覽器快取與HTTP 304狀態碼

為什麼網際網路公司專案中,靜態資源url後面會加上乙個時間戳。作用 控制快取。最終目的是為了控制專案上線的時候,靜態資源與老瀏覽器快取靜態資源避免衝突。解決辦法 加上時間戳 規範 t 專案上線時間 毫秒數 靜態資源快取 實際專案中在發布版本的時候,可能由於瀏覽器快取導致與伺服器端 發生衝突。這時候可...