日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

浏览器缓存常识

發布時間:2023/12/14 HTML 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浏览器缓存常识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

緩存系統之瀏覽器緩存

緩存的分類:

客戶端:
瀏覽器緩存,目的就是加速各種靜態資源的訪問。對于靜態資源來說,瀏覽器不會緩存html頁面的,所以你每次改完html的頁面的時候,html都是改完立即生效的,不存在什么有緩存導致頁面不對的問題。瀏覽器緩存的東西有圖片,css和js。這些資源將在緩存失效前調用的時候調用瀏覽器的緩存內容
服務端:
又分為 代理服務器緩存 和 反向代理服務器緩存(也叫網關緩存,比如 Nginx反向代理、Squid等),其實廣泛使用的 CDN 也是一種服務 端緩存,目的都是讓用戶的請求走”捷徑“,并且都是緩存圖片、文件等靜態資源

瀏覽器緩存:

測試知道了解后有什么好處:前端展示不是最新的頁面,可以自己分析判斷,而不需要每次傻傻的去清理緩存。

瀏覽器緩存的目的:
第一:避免了頻繁請求,節省帶寬流量。
第二:加快了用戶訪問網頁的速度。
第三:減小了服務端的壓力。
瀏覽器緩存流程:

1.查看緩存

判斷是否有緩存:
首先先要理解怎么存放存放在哪里:
chrome的瀏覽器(舊版):
chrome://chrome-urls/ 谷歌瀏覽器輸入,點擊cache鏈接就可

火狐瀏覽器 about:cache?storage=disk

本地chrome的瀏覽器緩存存放地方一般實在這里:
C:\Users\用戶名\AppData\Local\Google\Chrome\User Data\Default\Cache
如下圖:

這樣的話不容易看懂,安裝下專業的工具Chrome cache View工具:

2.緩存判斷

根據上面的流程圖看,首先是判斷這個緩存是否過期,那怎么去判斷
一般情況下,瀏覽器發出的所有 HTTP 請求會首先被路由到瀏覽器的緩存。

A.緩存未過期,直接讀取數據

以百度的為例:
打開百度,篩選bd_logo,如下圖,第一次請求的時候是大部分是200返回碼,因為是沒有緩存


再次刷新,返回200,顯示讀取的是緩存:

問題:為什么是200。
瀏覽器中判斷是否過期一般由expires以及cache-control字段來判斷,如果兩者同時存在,則是cache-control max-age覆蓋expire。
從以上可以看出,max-age=315360000,cache-control的時間為十年,所以,如果有緩存,這條信息會一直從緩存中讀取。

B緩存過期:
  • 打開新浪網為例,
    輸入goldenstock.js
    可以看出有效期是2分鐘,前兩分鐘都是返回200

    超過兩分鐘后,重新刷新,如下圖,304了。

    問題:為什么是304.
    根據上面的流程,
    先看緩存是否過期,緩存數據是存兩分鐘,兩分鐘過后,緩存失效,查看eatg標記,沒有的話,找last-modify(表明請求的資源上次的修改時間),請求的時候加上if-modif-since(客戶端保留的資源上次的修改時間) .通過對比時間,如果是一致的話,就返回304,讀取本地緩存,如果不一致,返回200,重新讀取
    last-modify:

    if-modif-since

    2.1.
    打開新浪網為例,
    輸入11.js。
    同理以上,結合流程,含有etag資源的內容標識。(不唯一,通常為文件的md5或者一段hash值,只要保證寫入和驗證時的方法一致即可),可以看出有效期是2分鐘,前兩分鐘都是返回200

    etag:


    If-None-Match: 客戶端保留的資源內容標識

    再次請求的時候,通過比對兩者的區別,如果沒有區別則返回304,有則返回200.

    通常情況下,如果同時發送 If-None-Match 、If-Modified-Since字段,服務器只要比較etag 的內容即可,當然具體處理方式,看服務器的約定規則。

    拓展:
    Cache-Control
    Http1.1 中的標準,可以看成是 expires 的補充。使用的是相對時間的概念。
    簡單介紹下Cache-Control的屬性設置。
    1)max-age: 設置緩存的最大的有效時間,單位為秒(s)。max-age會覆蓋掉Expires
    2) s-maxage: 只用于共享緩存,比如CDN緩存(s -> share)。與max-age 的區別是:max-age用于普通緩存,
    而s-maxage用于代理緩存。如果存在s-maxage,則會覆蓋max-age 和 Expires.
    3) public:響應會被緩存,并且在多用戶間共享。默認是public。
    4) private: 響應只作為私有的緩存,不能在用戶間共享。如果要求HTTP認證,響應會自動設置為private。
    5)no-cache: 指定不緩存響應,表明資源不進行緩存。但是設置了no-cache之后并不代表瀏覽器不緩存,而是在緩存前要向服務器確認資源是否被更改。因此有的時候只設置no-cache防止緩存還是不夠保險,還可以加上private指令,將過期時間設為過去的時間。
    6)no-store: 絕對禁止緩存。
    7)must-revalidate: 如果頁面過期,則去服務器進行獲取。
    以上注意的就是nocache與nostore的區別

    根據以上結論,瀏覽器緩存還可分為強緩存跟協商緩存:

    強緩存就是時間期的判斷,不過期就是強制緩存
    協商緩存就是if-modified-since/last-modified 和 if-none-match/etag 之類的請求判斷。

    用戶不同行為的操作方式會有不同的效果:

    1.地址欄訪問/新打開窗口/前進后退/,正常的瀏覽器緩存機制;
    2.F5刷新,瀏覽器會設置max-age=0,跳過強緩存判斷,進行協商緩存判斷;
    3.ctrl+F5刷新,跳過強緩存和協商緩存,直接從服務器拉取資源。

    一般大型公司怎么解決強緩存問題呢:

    URL中增加數字版本號,如下圖,每一次變更一下,當這個參數變化的時候,強緩存都會失效并重新加載。

    總結

    以上是生活随笔為你收集整理的浏览器缓存常识的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: av大帝| 在线a网站 | 91成人国产| 97超碰人 | 久久人人爽人人爽人人片亚洲 | 视频一区二区在线观看 | 丰满少妇一区二区三区视频 | 香蕉小视频 | 美女脱了内裤喂我喝尿视频 | www.爱操| 蜜臀av夜夜澡人人爽人人 | 啪啪网站视频 | 亚洲精品国产手机 | 人物动物互动39集免费观看 | 日韩不卡视频在线观看 | 青青国产精品视频 | 成人一级视频在线观看 | 九久久久久 | 欧美日本一区二区 | 蜜桃av免费在线观看 | 美女的隐私免费看 | 五月丁香综合激情六月久久 | 亚洲成人影音 | 亚洲精品一区二区三区四区五区 | 丝袜 亚洲 另类 欧美 重口 | 亚洲天堂一二三 | 亚洲三级小视频 | 亚洲色图综合 | 日韩伦理在线视频 | 丁香花高清在线 | 国产色片在线观看 | 少妇久久久久久 | 无码国产69精品久久久久网站 | 校园春色亚洲激情 | 亚洲区自拍 | 色就是色亚洲色图 | 中文字幕免费高清在线 | 国产精品有限公司 | 性生活免费网站 | 男人天堂a | 久久国产乱子伦精品 | 污污的视频在线免费观看 | 亚洲在线国产 | 男人添女人荫蒂国产 | 国产极品美女高潮无套在线观看 | 国产精品www | 色小说香蕉 | 国产香蕉一区 | 91久操| 精品乱码一区二区三区 | 99一区二区三区 | 国产精品91av| 国产在线免费av | 久久人人爽人人爽人人片av高清 | 亚洲乱码一区 | 草莓视频成人在线 | 激情国产一区 | 精品国产乱码久久久久久影片 | 国产又粗又猛又爽免费视频 | 精品人人妻人人澡人人爽牛牛 | 欧美精品黑人 | 国产一区二区三区高清 | 久久精品无码Av中文字幕 | www.av日韩| 两性视频久久 | 亚洲 欧美 日韩 国产综合 在线 | 91麻豆成人精品国产 | 老司机成人在线 | www.尤物 | 亚洲精品一区二区三区在线观看 | 自拍偷拍亚洲视频 | 亚洲欧美日韩久久 | 黄色一级片在线 | 亚洲熟妇无码一区二区三区 | 日韩精品亚洲精品 | 在线观看午夜视频 | 日本三级片在线观看 | 中文字幕欧美人妻精品一区蜜臀 | 国产精品污www一区二区三区 | 在线高清免费观看 | 国产精品丝袜一区 | 亚洲男人的天堂网 | 亚洲精品久久久中文字幕 | 日韩欧美一区二区三区免费观看 | 少妇一级视频 | 碰碰97 | 91精品国产91久久久久久吃药 | 免费国产在线观看 | 97视频在线观看免费高清完整版在线观看 | 亚洲婷婷久久综合 | 亚色在线视频 | 精品一区二区久久久 | 日本wwwwwww | 9久9久9久女女女九九九一九 | 亚洲资源在线 | 日本在线观看一区二区 | 99亚洲天堂 | 国产精品一区二区三区免费看 | 丰满少妇一区二区 |