91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于瀏覽器緩存最詳細(xì)解析

jf_f8pIz0xS ? 來(lái)源:掘金 ? 作者:foolBird ? 2021-04-16 16:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡(jiǎn)述

瀏覽器緩存即 http 緩存,將請(qǐng)求過(guò)的數(shù)據(jù)(html、css、js)存在瀏覽器(本地磁盤(pán))中,當(dāng)再次訪問(wèn)這些資源時(shí)可以從本地直接加載,減少服務(wù)端請(qǐng)求

服務(wù)端通過(guò)設(shè)置 http 響應(yīng)頭來(lái)決定緩存策略(緩存方式)

緩存流程

第一次請(qǐng)求需要的資源,服務(wù)器返回資源的同時(shí)在 response hearder 響應(yīng)頭中添加了緩存策略,告訴瀏覽器緩存規(guī)則(比如以何種方式緩存,緩存信息。。.。。.),此時(shí)就進(jìn)行緩存了

第二次如果是請(qǐng)求相同資源,那么就會(huì)檢查緩存里面是否有相應(yīng)資源,有的話直接取用,具體方式請(qǐng)看后續(xù)

緩存位置

先談?wù)劸彺娑紩?huì)存在哪,然后引出緩存方式進(jìn)一步說(shuō)明

Service Worker

可以讓我們自由控制緩存哪些文件、如何匹配/讀取緩存,并且緩存是持續(xù)性的

離線緩存調(diào)用的就是 Service Worker

Memory Cache

內(nèi)存中的緩存,關(guān)閉頁(yè)面就會(huì)失效

Disk Cache

硬盤(pán)中的緩存

資源存進(jìn)硬盤(pán)的情況

大文件(大概率)

此時(shí)內(nèi)存利用率較高

Push Cache

推送緩存:以上三種緩存都沒(méi)命中時(shí),才啟用

它只在會(huì)話(Session)中存在,會(huì)話結(jié)束就會(huì)釋放,緩存時(shí)間很短

如果以上四種緩存都沒(méi)被命中,就只能發(fā)起請(qǐng)求了。所以為了性能考慮,選擇好緩存方式極為重要

緩存方式

緩存方式就兩種

強(qiáng)緩存(默認(rèn)優(yōu)先)

協(xié)商緩存(協(xié)商,也就是商量的意思)

先介紹一個(gè)響應(yīng)頭中重要的值 Cache-Control,用于控制網(wǎng)頁(yè)緩存,有如下主要取值

public:響應(yīng)可以被客戶端和代理服務(wù)器緩存

private(默認(rèn)取值):響應(yīng)只有客戶端可以緩存

no-cache:直接進(jìn)入?yún)f(xié)商緩存階段

no-store:不進(jìn)行任何緩存

max-age = xxx(xxx 代表數(shù)字):緩存內(nèi)容在 xxx 時(shí)間后失效

must-revalidate:告訴瀏覽器

瀏覽器查看響應(yīng)頭的方法(新版 edge 為例):右鍵選擇 “檢查”,進(jìn)入開(kāi)發(fā)者模式,選擇 “網(wǎng)絡(luò)” ,選中具體選項(xiàng)(如果沒(méi)有可以 f5 刷新頁(yè)面),點(diǎn)擊 “標(biāo)頭”

強(qiáng)緩存

概念:檢查強(qiáng)緩存,不發(fā)送 http 請(qǐng)求直接從緩存里讀取資源。一般強(qiáng)緩存都會(huì)設(shè)置有效時(shí)間,過(guò)期就失效

觸發(fā)條件,Cache-Control 的值 max-age = xxx

響應(yīng)頭 Expires 存儲(chǔ)緩存過(guò)期時(shí)間(如果修改本地時(shí)間會(huì)造成緩存失效)

協(xié)商緩存

概念:需要攜帶緩存標(biāo)識(shí)(tag)發(fā)送 http 請(qǐng)求,由服務(wù)器判斷是否使用緩存。服務(wù)端會(huì)進(jìn)行判斷,若資源已發(fā)生變化,則返回新資源,否則告訴瀏覽器啟用緩存即可

觸發(fā)條件(兩個(gè))

強(qiáng)緩存過(guò)期

Cache-Control 的值包含 no-cache

緩存標(biāo)識(shí)由響應(yīng)頭 Last-Modified、ETag 決定(簡(jiǎn)述一下)AX

Last-Modified 用于記錄資源最后修改時(shí)間,瀏覽器再次請(qǐng)求時(shí)用來(lái)對(duì)比時(shí)間,以此判斷資源是否變化

ETag存儲(chǔ)一個(gè)字符串(類(lèi)似標(biāo)識(shí)符),只要資源修改了標(biāo)識(shí)符就會(huì)變動(dòng),以此判斷資源是否變化

用戶操作對(duì)緩存的影響

地址欄輸入網(wǎng)址:瀏覽器會(huì)查找

點(diǎn)擊刷新按鈕或按 f5 刷新:會(huì)使用緩存

ctrl+f5 刷新:跳過(guò)緩存,直接請(qǐng)求新資源
編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 緩存
    +關(guān)注

    關(guān)注

    1

    文章

    248

    瀏覽量

    27767
  • 瀏覽器
    +關(guān)注

    關(guān)注

    1

    文章

    1043

    瀏覽量

    37092
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    KeepAlive:組件緩存實(shí)現(xiàn)深度解析

    了\') // 適合清除定時(shí)、暫停網(wǎng)絡(luò)請(qǐng)求等 }) </script> 與普通生命周期的關(guān)系 被緩存的組件在切換時(shí)不會(huì)觸發(fā) unmounted 和 mounted,而是觸發(fā)
    發(fā)表于 03-05 19:17

    無(wú)需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個(gè)神器絕了!

    無(wú)需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個(gè)神器絕了!【往期精選】十年嵌入式最深的痛,不是Bug,而是抓不到日志!vivo宣布原生支持HomeAssistant生態(tài)設(shè)備接入(含
    的頭像 發(fā)表于 01-10 10:01 ?906次閱讀
    無(wú)需安裝!在<b class='flag-5'>瀏覽器</b>里就能玩轉(zhuǎn)ESP32/ESP8266,這個(gè)神器絕了!

    鴻蒙手機(jī)系統(tǒng)6.0用瀏覽器看視頻,視頻顯示不能橫屏。怎么設(shè)置?

    鴻蒙手機(jī)系統(tǒng)6.0用瀏覽器看視頻,視頻顯示不能橫屏。怎么設(shè)置? 如何掂讓這個(gè)豎屏切換為橫屏?
    發(fā)表于 12-20 20:10

    請(qǐng)問(wèn)M453是否默認(rèn)啟用4kb緩存?

    瀏覽 M453 的各種示例代碼,我沒(méi)有看到顯式啟用 4kb 緩存,那么緩存是否默認(rèn)啟用?
    發(fā)表于 08-28 08:27

    Microsoft Edge瀏覽器iOS端插件功能上線

    在最新發(fā)布的 139 版本中,Microsoft Edge 瀏覽器 iOS 端正式支持插件功能!與此同時(shí),Microsoft Edge 安卓端的插件數(shù)量已躍升至近 30 款。廣告攔截、雙語(yǔ)翻譯、資源下載……你的手機(jī)瀏覽器,也能擁有自定義的「超能力」。
    的頭像 發(fā)表于 08-19 14:29 ?1778次閱讀

    亞馬遜云科技推出Amazon Nova Act SDK預(yù)覽版,加速瀏覽器自動(dòng)化Agent落地

    北京2025年8月5日 /美通社/ --?亞馬遜云科技日前宣布,推出Amazon Nova Act SDK有限預(yù)覽版,可快速幫助客戶將基于瀏覽器的Agent從原型部署至生產(chǎn)環(huán)境。該SDK可與亞馬遜云
    的頭像 發(fā)表于 08-06 08:42 ?861次閱讀

    本地緩存 Caffeine 中的時(shí)間輪(TimeWheel)是什么?

    我們詳細(xì)介紹了 Caffeine 緩存添加元素和讀取元素的流程,并詳細(xì)解析了配置固定元素?cái)?shù)量驅(qū)逐策略的實(shí)現(xiàn)原理。在本文中我們將主要介紹 配置元素過(guò)期時(shí)間策略的實(shí)現(xiàn)原理 ,補(bǔ)全 Caff
    的頭像 發(fā)表于 08-05 14:48 ?619次閱讀
    本地<b class='flag-5'>緩存</b> Caffeine 中的時(shí)間輪(TimeWheel)是什么?

    微軟Microsoft Edge瀏覽器構(gòu)筑立體式安全防線

    在信息爆炸的今天,釣魚(yú)網(wǎng)站、詐騙廣告、隱私追蹤層出不窮。Microsoft Edge 瀏覽器為桌面與移動(dòng)端用戶構(gòu)筑了立體式安全防線。用七大安全護(hù)盾,保護(hù)你的上網(wǎng)安全。
    的頭像 發(fā)表于 08-04 15:39 ?1321次閱讀

    高性能緩存設(shè)計(jì):如何解決緩存偽共享問(wèn)題

    緩存行,引發(fā)無(wú)效化風(fēng)暴,使看似無(wú)關(guān)的變量操作拖慢整體效率。本文從緩存結(jié)構(gòu)原理出發(fā),通過(guò)實(shí)驗(yàn)代碼復(fù)現(xiàn)偽共享問(wèn)題(耗時(shí)從3709ms優(yōu)化至473ms),解析其底層機(jī)制;同時(shí)深入剖析高性能緩存
    的頭像 發(fā)表于 07-01 15:01 ?771次閱讀
    高性能<b class='flag-5'>緩存</b>設(shè)計(jì):如何解決<b class='flag-5'>緩存</b>偽共享問(wèn)題

    老電視如何安裝瀏覽器

    2017年購(gòu)買(mǎi)的夏普老電視,1.5G+8G存儲(chǔ),網(wǎng)上下的瀏覽器APK文件在電視內(nèi)打開(kāi)就彈出“解析程序包出現(xiàn)問(wèn)題”。 未知來(lái)源選項(xiàng)已打開(kāi),存儲(chǔ)空間清空到只剩下三個(gè)應(yīng)用(只占用300M左右),基本可
    發(fā)表于 06-01 18:57

    MCU緩存設(shè)計(jì)

    從Flash或外部存儲(chǔ)讀取的指令,減少CPU因等待指令加載而停滯,適用于實(shí)時(shí)性要求高的場(chǎng)景(如中斷服務(wù)程序)。 D-Cache?:緩存從Flash、SRAM或外部存儲(chǔ)讀取的數(shù)據(jù),加速變量與堆棧的讀寫(xiě)操作。 TCM(緊耦合內(nèi)存
    的頭像 發(fā)表于 05-07 15:29 ?1136次閱讀

    Nginx緩存配置詳解

    Nginx 是一個(gè)功能強(qiáng)大的 Web 服務(wù)和反向代理服務(wù),它可以用于實(shí)現(xiàn)靜態(tài)內(nèi)容的緩存,緩存可以分為客戶端緩存和服務(wù)端
    的頭像 發(fā)表于 05-07 14:03 ?1266次閱讀
    Nginx<b class='flag-5'>緩存</b>配置詳解

    nginx中強(qiáng)緩存和協(xié)商緩存介紹

    強(qiáng)緩存直接告訴瀏覽器:在緩存過(guò)期前,無(wú)需與服務(wù)通信,直接使用本地緩存。
    的頭像 發(fā)表于 04-01 16:01 ?1005次閱讀

    edge瀏覽器識(shí)別 latex語(yǔ)法插件

    默認(rèn)的瀏覽器是沒(méi)有l(wèi)atex識(shí)別功能的,容易顯示為亂碼或者源碼,無(wú)法正常識(shí)別。本插件需要在瀏覽器的擴(kuò)展程序菜單下安裝,能在edge下完美運(yùn)行。本插件是免費(fèi)插件。
    發(fā)表于 03-17 18:03 ?1次下載

    ?VLM(視覺(jué)語(yǔ)言模型)?詳細(xì)解析

    詳細(xì)解析: 1. 核心組成與工作原理 視覺(jué)編碼 :提取圖像特征,常用CNN(如ResNet)或視覺(jué)Transformer(ViT)。 語(yǔ)言模型 :處理文本輸入/輸出,如GPT、BERT等,部分模型
    的頭像 發(fā)表于 03-17 15:32 ?8926次閱讀
    ?VLM(視覺(jué)語(yǔ)言模型)?<b class='flag-5'>詳細(xì)</b><b class='flag-5'>解析</b>