web-基本常識-----1-------緩存

緩存分類

前言:之所以寫這一類文章 主要是 對自己 的知識 梳理 總結,如果能幫助大家 當然更好

  • html 標籤緩存 設置
  • 服務端 nginx 緩存設置
  • cdn 緩存設置,+ 負載均衡
  • 瀏覽器緩存規則
  • 本地數據緩存 cookie ,localstorage,sesstionStorage,DB 等

一:本地數據緩存 cookie ,localstorage,sesstionStorage,DB 等

類型 緩存時間 大小 備註
cookie 根據 expires 來判斷( 不設置 則 僅在會話階段)(設置過期時間:馬上無效)(>當前時間:則爲設置時間後失效) 4k 1.會與請求 每次傳遞到服務端,2,不同瀏覽器都是有區別的哦
localStorage 一直都在 持久化 5M 就在瀏覽器裏
sessionStorage 在會話階段 5M 就在瀏覽器裏

二:CDN緩存設置

咋說呢 ,,花錢買的cdn 又有專門的文檔 感覺咋說 都是配置

  • 意義 :CDN 主要目的是加速網站 ,減少服務器壓力 ,
  • 常見指標 (延時,下載速度,打開速度,丟包率,回源率,緩存命中率)

https://help.aliyun.com/document_detail/27112.html?spm=5176.13394999.0.0.32f173f8FE6YRH

當然 說到CDN 緩存 就又能想到負載均衡 ,負載均衡 簡單來說,有 購買的,有自己配置的,常見 或者我使用過的 就只有 nginx 簡而言之 就是 配多個服務器設置權重 來達到分流的目的,,當然 花錢也行

三:瀏覽器緩存規則

  • 強緩存 (用戶發送的請求,直接從客戶端緩存中獲取,不發送請求到服務器,不與服務器發生交互行爲,利用http的返回頭中的Expires或者Cache-Control兩個字段來控制)(通過 Nginx 配置 OR server 配置)
  • 協商緩存 用戶發送的請求,發送到服務器後,由服務器判定是否從緩存中獲取資源(http頭信息中的Last-Modify/If-Modify-Since或Etag/If-None-Match)

四:html 標籤緩存(只是作爲了解)

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />



Cache-Control
no-cache指示請求或響應消息不能緩存
no-store用於防止重要的信息被無意的發佈。在請求消息中發送將使得請求和響應消息都不使用緩存。
max-age指示客戶機可以接收生存期不大於指定時間(以秒爲單位)的響應
min-fresh指示客戶機可以接收響應時間小於當前時間加上指定時間的響應
max-stale指示客戶機可以接收超出超時期間的響應消息。如果指定max-stale消息的值,那麼客戶機可以接收超出超時期指定值之內的響應消息
 

 

京東的首頁 京東的首頁京東的首頁京東的首頁

  • 怎麼說呢 ,京東 ,淘寶 ,美團, 等首頁,微信文章 都未使用 這些標籤了,無非就是 在html 階段儘量這樣處理,保證代碼是最新的

  • 緩存問題依靠html的meta標籤解決是不靠譜的,一般大型網站都依靠服務端 在 http頭中對靜態資源設置緩存

  • CDN 緩存設置 (簡單來說就是花錢 玩兒配置,設置規則設置閥值)

五:服務端 nginx 緩存設置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章