最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

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

分享到微博請遵守國家法律
阳朔县| 利辛县| 宁化县| 沙田区| 和顺县| 塔城市| 礼泉县| 安康市| 博白县| 高尔夫| 定结县| 介休市| 绥江县| 科尔| 元谋县| 尉氏县| 曲松县| 朔州市| 阳城县| 临沭县| 百色市| 绥化市| 南宁市| 安图县| 诸城市| 基隆市| 昌吉市| 台湾省| 陕西省| 新疆| 平塘县| 格尔木市| 德令哈市| 万全县| 澄城县| 大英县| 长岛县| 东莞市| 建德市| 济南市| 齐齐哈尔市|