五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

知識分享!瀏覽器緩存機制

2020-12-25 10:21 作者:光耀三十洲  | 我要投稿

概述

緩存策略

瀏覽器緩存策略分為兩種:

  1. 強緩存

  2. 協(xié)商緩存

相同點

如果命中,都是從緩存中加載資源

不同點

協(xié)商緩存會向服務(wù)器發(fā)起請求去驗證是否命中緩存,而強緩存不需要發(fā)送請求

基本原理

  • 瀏覽器加載資源時候,會根據(jù)請求頭的expire和cache-control判斷是否命中強緩存,是則從緩存中讀取資源,不會發(fā)送請求到服務(wù)器

  • 如果沒有命中強緩存,瀏覽器就會攜帶if-None-Match:上一次Etag的值和if-Modified-Since: 上一次last-modified的值,發(fā)送請求到服務(wù)器,驗證是否命中協(xié)商緩存,如果命中,則繼續(xù)從緩存中讀取資源

  • 如果沒有命中緩存,則直接從服務(wù)器加載資源

強緩存

Expires

ExpiresHTTp/1.0控制網(wǎng)頁緩存的字段,其值是服務(wù)器返回改請求結(jié)果緩存的到期時間,是個絕對時間。

Expires控制緩存的原理,是使用客戶端的時間與服務(wù)器端返回的時間做對比,如果客戶端與服務(wù)器端的時間發(fā)生誤差(如時區(qū)不同,修改了客戶端時間),那么強緩存就會失效。

Cache-Control

主要取值


瀏覽器緩存存放位置

內(nèi)存緩存

內(nèi)存緩存具有兩個特點:

  • 快讀讀取: 內(nèi)存緩存會將編譯解析后的文件直接存入改進程的內(nèi)存中,占據(jù)該進程一定的內(nèi)存資源,方便下次運行使用時的快速讀取

  • 時效性: 一旦該進程關(guān)閉,則該進程的內(nèi)存會清空

硬盤緩存

硬盤緩存是直接將緩存寫入硬盤中,讀取緩存需要對該緩存存放的硬盤文件進行I/O操作,然后重新解析該緩存內(nèi)容,讀取復(fù)雜,速度比內(nèi)存緩存(memory cache)慢

協(xié)商緩存

協(xié)商緩存就是強制緩存失效后,瀏覽器攜帶緩存標(biāo)識向服務(wù)器發(fā)起請求,由服務(wù)器根據(jù)緩存標(biāo)識決定是否使用緩存。

控制協(xié)商緩存的字段分別為: Last-Modified/if-Modified-SinceEtag/if-None-Match

其中 Etag/if-None-Match的優(yōu)先級更高

Last-Modified / if-Modified-Since

Last-Modified服務(wù)器響應(yīng)請求時,返回該資源文件在服務(wù)器最后被修改的時間


當(dāng)服務(wù)器收到該請求,并且發(fā)現(xiàn)請求頭有if-Modified-Since字段時,就會將該值與該資源在服務(wù)器的最后修改時間做對比,如果有更新就重新返回資源,狀態(tài)碼為200;如果沒有更新,則返回304,繼續(xù)使用緩存文件

Etag / If-None-Match

Etag服務(wù)器響應(yīng)請求時,返回當(dāng)前資源文件的一個唯一標(biāo)識(由服務(wù)器生成)


當(dāng)服務(wù)器接收到請求,并且發(fā)現(xiàn)請求頭有If-None-Match時,就會將該值與資源在服務(wù)器的Etag值做對比,一致則代表資源沒有更新,返回304,使用緩存文件;不一致則重新返回資源文件,狀態(tài)碼為200

禁止瀏覽器緩存

了解更多,請點擊:https://www.bilibili.com/video/BV13p4y167vu




原作者:阿婧

原出處:掘金

原文鏈接:https://juejin.cn/post/6909739162463633415

知識分享!瀏覽器緩存機制的評論 (共 條)

分享到微博請遵守國家法律
桦川县| 珠海市| 德钦县| 普安县| 西乡县| 红原县| 鞍山市| 容城县| 卢龙县| 丹凤县| 涪陵区| 宝山区| 资兴市| 湘乡市| 高州市| 涟源市| 巩义市| 德兴市| 阿坝| 田东县| 宾阳县| 温宿县| 苍溪县| 梅河口市| 措美县| 五大连池市| 丰县| 连平县| 永福县| 泸州市| 西盟| 茌平县| 安达市| 瑞安市| 梁平县| 临桂县| 醴陵市| 正蓝旗| 仙游县| 栾川县| 惠安县|