国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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

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

分享到微博請遵守國家法律
靖江市| 政和县| 新龙县| 峨山| 商南县| 滦平县| 循化| 曲阳县| 澎湖县| 巴青县| 宜阳县| 建平县| 合水县| 武川县| 独山县| 宝清县| 万山特区| 酉阳| 宣恩县| 马边| 景宁| 建瓯市| 宝兴县| 汤原县| 达孜县| 新民市| 满城县| 长汀县| 桓台县| 长宁县| 木里| 工布江达县| 贵南县| 长岛县| 抚宁县| 林芝县| 仁怀市| 沙田区| 恭城| 镇康县| 永川市|