摘要:服務器告訴客戶,原來緩沖的文檔還可以繼續(xù)使用。不是服務器發(fā)出的錯誤提示。如果相同,則獲取本地的緩存信息,反之服務器返回新的資源。服務器靜態(tài)資源修改了,返回的,也會修改這個是樂視網(wǎng)首頁第二次請求時的截包,會發(fā)現(xiàn)靜態(tài)資源的返回基本都是
http 304
原理好久沒寫了。感覺荒廢了好久。剛好今天有朋友問我關于靜態(tài)資源緩存問題。突然喚起我的學習興趣了。
發(fā)現(xiàn)好多同學對靜態(tài)資源都不是很清楚。小弟我剛好有一點心得。和大家分享一下。其實就是當作我的筆記。歡迎指正。
http 304 Not Modified
意思是:Not Modified 客戶端有緩沖的文檔并發(fā)出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩沖的文檔還可以繼續(xù)使用。
HTTP/1.1 304 Not Modified不是服務器發(fā)出的錯誤提示。而是服務器所承載的業(yè)務系統(tǒng)在開發(fā)時為了節(jié)省鏈路帶寬和提升瀏覽器的體驗對GET/js、css、image等執(zhí)行了緩存機制。
在做http請求分析之前,一定要了解這個參數(shù)HTTP/1.1 304 Not Modified不是服務器發(fā)出的錯誤提示。而是服務器所承載的業(yè)務系統(tǒng)在開發(fā)時為了節(jié)省鏈路帶寬和提升瀏覽器的體驗對GET/js、css、image等執(zhí)行了緩存機制??蛻舳嗽诘谝淮螌Ψ掌鳂I(yè)務發(fā)出GET請求后,客戶端瀏覽器緩存了該頁面,當客戶端第二次對服務器發(fā)出同樣的GET請求時,若客戶端緩存中的If-Modified-Since過期,客戶端將向服務器發(fā)出GET請求,驗證If-Modified-Since和If-None-Match是否與WEB-server中信息一致,如果GET頁面未做任何修改,服務器對客戶端返回HTTP/1.1 304 Not Modified,客戶端則直接從本地緩存中將頁面調(diào)取
requset請求
(1)If-Modified-Since:發(fā)送請求時與服務器
(2)If-None-Match:
response返回
(1)Last-Modified:資源被修改的最后時間
(2)ETag:對資源的索引節(jié)(INode),大小(Size)和最后修改時間(MTime)進行Hash后得到的,是資源的唯一標識
特別注意:
(1)該兩項參數(shù)將存儲在客戶端的瀏覽器cache中,Last-Modified值存儲為 If-Modified-Since,ETag值存儲為If-None-Match.
(2)ETag的優(yōu)先級高于Last-Modified.
請求過程發(fā)生了什么 第一次請求:客服端發(fā)送請求-》本地無緩存-》向服務發(fā)送請求-》返回靜態(tài)資源,并且緩存到本地
這個是樂視網(wǎng)首頁第一次請求時的截包,會發(fā)現(xiàn)靜態(tài)資源的返回都是200
第二次請求:再這次請求中,http請求頭部包括了If-Modified-Since,If-None-Match這兩個參數(shù)與服務器做對比。如果相同,則獲取本地的緩存信息,反之服務器返回新的資源。并且Last-Modified,ETag數(shù)據(jù)重置。
服務器靜態(tài)資源修改了,response返回的Last-Modified,ETag也會修改
這個是樂視網(wǎng)首頁第二次請求時的截包,會發(fā)現(xiàn)靜態(tài)資源的返回基本都是304
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.hztianpu.com/yun/21272.html
摘要:服務器告訴客戶,原來緩沖的文檔還可以繼續(xù)使用。不是服務器發(fā)出的錯誤提示。如果相同,則獲取本地的緩存信息,反之服務器返回新的資源。服務器靜態(tài)資源修改了,返回的,也會修改這個是樂視網(wǎng)首頁第二次請求時的截包,會發(fā)現(xiàn)靜態(tài)資源的返回基本都是 http 304 好久沒寫了。感覺荒廢了好久。剛好今天有朋友問我關于靜態(tài)資源緩存問題。突然喚起我的學習興趣了。發(fā)現(xiàn)好多同學對靜態(tài)資源都不是很清楚。小弟我剛好...
閱讀 725·2021-11-15 11:39
閱讀 2970·2021-10-08 10:04
閱讀 3353·2019-08-30 10:57
閱讀 3077·2019-08-26 13:25
閱讀 1965·2019-08-26 12:14
閱讀 2706·2019-08-23 15:27
閱讀 3070·2019-08-23 15:18
閱讀 1836·2019-08-23 14:26