摘要:服務(wù)器告訴客戶,原來(lái)緩沖的文檔還可以繼續(xù)使用。緩存機(jī)制不是錯(cuò)誤提示不是服務(wù)器發(fā)出的錯(cuò)誤提示。而是服務(wù)器所承載的業(yè)務(wù)系統(tǒng)在開(kāi)發(fā)時(shí)為了節(jié)省鏈路帶寬和提升瀏覽器的體驗(yàn)對(duì)等執(zhí)行了緩存機(jī)制。如果相同,則獲取本地的緩存信息,反之服務(wù)器返回新的資源。
304 not modified
意思是:Not Modified 客戶端有緩沖的文檔并發(fā)出了一個(gè)條件性的請(qǐng)求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務(wù)器告訴客戶,原來(lái)緩沖的文檔還可以繼續(xù)使用。
緩存機(jī)制 不是錯(cuò)誤提示HTTP/1.1 304 Not Modified不是服務(wù)器發(fā)出的錯(cuò)誤提示。而是服務(wù)器所承載的業(yè)務(wù)系統(tǒng)在開(kāi)發(fā)時(shí)為了節(jié)省鏈路帶寬和提升瀏覽器的體驗(yàn)對(duì)GET/js、css、image等執(zhí)行了緩存機(jī)制。
HTTP/1.1 304 Not Modified不是服務(wù)器發(fā)出的錯(cuò)誤提示。而是服務(wù)器所承載的業(yè)務(wù)系統(tǒng)在開(kāi)發(fā)時(shí)為了節(jié)省鏈路帶寬和提升瀏覽器的體驗(yàn)對(duì)GET/js、css、image等執(zhí)行了緩存機(jī)制??蛻舳嗽诘谝淮螌?duì)服務(wù)器業(yè)務(wù)發(fā)出GET請(qǐng)求后,客戶端瀏覽器緩存了該頁(yè)面,當(dāng)客戶端第二次對(duì)服務(wù)器發(fā)出同樣的GET請(qǐng)求時(shí),若客戶端緩存中的If-Modified-Since過(guò)期,客戶端將向服務(wù)器發(fā)出GET請(qǐng)求,驗(yàn)證If-Modified-Since和If-None-Match是否與WEB-server中信息一致,如果GET頁(yè)面未做任何修改,服務(wù)器對(duì)客戶端返回HTTP/1.1 304 Not Modified,客戶端則直接從本地緩存中將頁(yè)面調(diào)取
第一次請(qǐng)求 :原理:客戶端發(fā)送請(qǐng)求-》本地?zé)o緩存-》向服務(wù)發(fā)送請(qǐng)求-》返回靜態(tài)資源,并且緩存到本地
這個(gè)是樂(lè)視網(wǎng)首頁(yè)第一次請(qǐng)求時(shí)的截包,會(huì)發(fā)現(xiàn)靜態(tài)資源的返回都是200
再這次請(qǐng)求中,http請(qǐng)求頭部包括了If-Modified-Since,If-None-Match這兩個(gè)參數(shù)與服務(wù)器做對(duì)比。如果相同,則獲取本地的緩存信息,反之服務(wù)器返回新的資源。并且Last-Modified,ETag數(shù)據(jù)重置。
服務(wù)器靜態(tài)資源修改了,response返回的Last-Modified,ETag也會(huì)修改
這個(gè)是樂(lè)視網(wǎng)首頁(yè)第二次請(qǐng)求時(shí)的截包,會(huì)發(fā)現(xiàn)靜態(tài)資源的返回基本都是304
]
(1)If-Modified-Since:發(fā)送請(qǐng)求時(shí)與服務(wù)器
(2)If-None-Match:
(1)Last-Modified:資源被修改的最后時(shí)間
(2)ETag:對(duì)資源的索引節(jié)(INode),大?。⊿ize)和最后修改時(shí)間(MTime)進(jìn)行Hash后得到的,是資源的唯一標(biāo)識(shí)
(1)該兩項(xiàng)參數(shù)將存儲(chǔ)在客戶端的瀏覽器cache中,Last-Modified值存儲(chǔ)為 If-Modified-Since,ETag值存儲(chǔ)為If-None-Match.
(2)ETag的優(yōu)先級(jí)高于Last-Modified.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/104166.html
摘要:服務(wù)器告訴客戶,原來(lái)緩沖的文檔還可以繼續(xù)使用。不是服務(wù)器發(fā)出的錯(cuò)誤提示。如果相同,則獲取本地的緩存信息,反之服務(wù)器返回新的資源。服務(wù)器靜態(tài)資源修改了,返回的,也會(huì)修改這個(gè)是樂(lè)視網(wǎng)首頁(yè)第二次請(qǐng)求時(shí)的截包,會(huì)發(fā)現(xiàn)靜態(tài)資源的返回基本都是 http 304 好久沒(méi)寫(xiě)了。感覺(jué)荒廢了好久。剛好今天有朋友問(wèn)我關(guān)于靜態(tài)資源緩存問(wèn)題。突然喚起我的學(xué)習(xí)興趣了。發(fā)現(xiàn)好多同學(xué)對(duì)靜態(tài)資源都不是很清楚。小弟我剛好...
摘要:服務(wù)器告訴客戶,原來(lái)緩沖的文檔還可以繼續(xù)使用。不是服務(wù)器發(fā)出的錯(cuò)誤提示。如果相同,則獲取本地的緩存信息,反之服務(wù)器返回新的資源。服務(wù)器靜態(tài)資源修改了,返回的,也會(huì)修改這個(gè)是樂(lè)視網(wǎng)首頁(yè)第二次請(qǐng)求時(shí)的截包,會(huì)發(fā)現(xiàn)靜態(tài)資源的返回基本都是 http 304 好久沒(méi)寫(xiě)了。感覺(jué)荒廢了好久。剛好今天有朋友問(wèn)我關(guān)于靜態(tài)資源緩存問(wèn)題。突然喚起我的學(xué)習(xí)興趣了。發(fā)現(xiàn)好多同學(xué)對(duì)靜態(tài)資源都不是很清楚。小弟我剛好...
摘要:我把緩存分為緩存存儲(chǔ)緩存對(duì)比兩部分。不過(guò)是的東西,現(xiàn)在默認(rèn)瀏覽器均默認(rèn)使用,所以它的作用基本忽略。當(dāng)資源發(fā)送改變時(shí),也隨之發(fā)生變化。關(guān)于版本號(hào)建議使用的形式而不是。 前幾天看到一篇關(guān)于緩存的文章徹底弄懂 Http 緩存機(jī)制 - 基于緩存策略三要素分解法,覺(jué)得很有意思,所以打算系統(tǒng)學(xué)習(xí)下Http緩存相關(guān)的知識(shí)。 我把緩存分為緩存存儲(chǔ)、緩存對(duì)比兩部分。 基本概念 命中緩存速度對(duì)比 200...
摘要:本文僅挑這兩個(gè)進(jìn)行值進(jìn)行探究對(duì)比。注意變化了,表示源服務(wù)器資源已發(fā)生變化。從日志來(lái)看,緩存服務(wù)器訪問(wèn)源服務(wù)器,并返回給瀏覽器。緩存服務(wù)器上已有該資源副本,且該副本未過(guò)期。緩存服務(wù)器本身優(yōu)化算法對(duì)實(shí)驗(yàn)結(jié)果的影響。 引言 稍微了解HTTP協(xié)議的前端同學(xué),想必對(duì)Cache-Control不會(huì)感到陌生,性能優(yōu)化時(shí)經(jīng)常都會(huì)跟它打交道。 常見(jiàn)的值有有private、public、no-store、...
摘要:狀態(tài)碼,可避免請(qǐng)求發(fā)送到服務(wù)器??梢酝ㄟ^(guò)標(biāo)識(shí)文件版本名加長(zhǎng)緩存時(shí)間的方式來(lái)減少響應(yīng)。 推薦閱讀:伯樂(lè)在線——HTTP 緩存機(jī)制一二三IMWeb前端博客——HTTP緩存控制小結(jié)IT筆錄——http消息頭 http緩存機(jī)制 關(guān)鍵頭部字段 cache-control、 Pragma if-Match、if-None-Match if-Modified-Since、if-Unmodified...
閱讀 1898·2021-10-09 09:44
閱讀 3412·2021-09-28 09:35
閱讀 1415·2021-09-01 10:31
閱讀 1685·2019-08-30 15:55
閱讀 2747·2019-08-30 15:54
閱讀 957·2019-08-29 17:07
閱讀 1401·2019-08-29 15:04
閱讀 2030·2019-08-26 13:56