Http Code 304

本文對http code 返回304場景流程記錄

304 Not Modified: 協商緩存,請求頭中發送一定的校驗數據到服務器,如果服務器數據沒有改變瀏覽器從本地緩存響應,返回304。

瀏覽器端發送請求,打開網頁 http://blog.lilaiqun.com/15700882317067.html

Request URL: http://blog.lilaiqun.com/15700882317067.html
Request Method: GET
Status Code: 304 Not Modified
Remote Address: 111.231.119.151:80
Referrer Policy: no-referrer-when-downgrade

請求頭

// 通知瀏覽器資源的最後修改時間
If-Modified-Since: Sat, 12 Oct 2019 04:24:30 GMT   
// 本地緩存失效,會攜帶去請求服務端,服務端判斷資源是否改變,沒有則直接使用本地緩存,返回304
If-None-Match: W/"5da1557e-315f"

服務端access.log, 可以看到接收到了請求,但是立刻返回了304

180.*.*.* - - [12/Oct/2019:13:12:06 +0800] "GET /15700882317067.html HTTP/1.1" 304 0 "http://blog.lilaiqun.com/" 

返回頭信息

// 文件的指紋標識符,如果文件內容修改,指紋會改
ETag: "5da1557e-315f"
Last-Modified: Sat, 12 Oct 2019 04:24:30 GMT

返回頭信息中ETag和發送的時候是一致的,所以服務器確定此資源沒有過期,返回了304

關於更多瀏覽器緩存可參考 瀏覽器緩存和數據壓縮

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章