成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

什么是 Web 緩存,這篇內(nèi)容讓你秒懂!

存儲 存儲軟件
最近把前端緩存重新整理了一下,從整體的層面上把前端所有能用的緩存方案梳理了一遍。同時,對于http緩存,使用了表格的方案,使得原先晦澀難記的特性變得清晰明了。

 最近把前端緩存重新整理了一下,從整體的層面上把前端所有能用的緩存方案梳理了一遍。同時,對于http緩存,使用了表格的方案,使得原先晦澀難記的特性變得清晰明了。特記錄于此,若有什么欠缺,也望不吝指出。

[[275180]]

1、前端緩存概述

前端緩存主要是分為HTTP緩存和瀏覽器緩存。其中HTTP緩存是在HTTP請求傳輸時用到的緩存,主要在服務器代碼上設置;而瀏覽器緩存則主要由前端開發(fā)在前端js上進行設置。下面會分別具體描述。

 

2、前端緩存分類

2.1 HTTP緩存

整體流程

HTTP緩存都是從第二次請求開始的。

第一次請求資源時,服務器返回資源,并在respone header頭中回傳資源的緩存參數(shù);第二次請求時,瀏覽器判斷這些請求參數(shù),擊中強緩存就直接200,否則就把請求參數(shù)加到request header頭中傳給服務器,看是否擊中協(xié)商緩存,擊中則返回304,否則服務器會返回新的資源。

HTTP緩存分為強緩存和協(xié)議緩存,它們的區(qū)別如下:

 

200 from disk or 200 from memory

強緩存的200也有兩種情況:200 from disk和200 from memory?,F(xiàn)在我沒有找到明確的文檔來描述這種區(qū)別的發(fā)生條件。知乎這個問題中提到了一些情景,可以自行取用。

2.1.1 強緩存

 

2.1.2 協(xié)商緩存

協(xié)商緩存都是成對出現(xiàn)的。

 

2.1.3 最佳優(yōu)化策略——消滅304

最佳優(yōu)化策略:因為協(xié)商緩存本身也有http請求的損耗,所以最佳優(yōu)化策略是要盡可能的將靜態(tài)文件存儲為較長的時間,多利用強緩存而不是協(xié)商緩存,即消滅304。

但是給文件設置一個很長的Cacha-Control也會帶來其他的問題,最主要的問題是靜態(tài)內(nèi)容更新時,用戶不能及時獲得更新的內(nèi)容。這時候就要使用hash的方法對文件進行命名,通過每次更新不同的靜態(tài)文件名來消除強緩存的影響。

Hash命名:

  • http://xxx.com/main.5eas34fa.js
  • http://xxx.com/main.js?5eas34fa
  • http://xxx.com/5eas34fa/main.js

2.2 瀏覽器緩存

2.2.1 本地存儲小容量

Cookie主要用于用戶信息的存儲,Cookie的內(nèi)容可以自動在請求的時候被傳遞給服務器。

LocalStorage的數(shù)據(jù)將一直保存在瀏覽器內(nèi),直到用戶清除瀏覽器緩存數(shù)據(jù)為止。

SessionStorage的其他屬性同LocalStorage,只不過它的生命周期同標簽頁的生命周期,當標簽頁被關閉時,SessionStorage也會被清除。

2.2.2 本地存儲大容量

WebSql和IndexDB主要用在前端有大容量存儲需求的頁面上,例如,在線編輯瀏覽器或者網(wǎng)頁郵箱。

 

2.2.3 應用緩存與PWA

應用緩存全稱為Offline Web Application,它的緩存內(nèi)容被存在瀏覽器的Application Cache中。它也是一個被W3C標準廢棄的功能,主要是通過manifest文件來標注要被緩存的靜態(tài)文件清單。但是在緩存靜態(tài)文件的同時,也會默認緩存html文件。這導致頁面的更新只能通過manifest文件中的版本號來決定。而且,即使我們更新了version,用戶的第一次訪問還是會訪問到老的頁面,只有下一次再訪問才能訪問到新的頁面。所以,應用緩存只適合那種常年不變化的靜態(tài)網(wǎng)站。如此的不方便,也是被廢棄的重要原因。

PWA全稱是漸進式網(wǎng)絡應用,主要目標是實現(xiàn)web網(wǎng)站的APP式功能和展示。盡管PWA也有manifest文件,但是與應用緩存卻完全不同。不同于manifest簡單的將文件通過是否緩存進行分類,PWA用manifest構(gòu)建了自己的APP骨架。另外,PWA用Service Worker來控制緩存的使用。這一塊的內(nèi)容較多,在這里就不詳細展開了。

 

2.2.4 往返緩存

往返緩存又稱為BFCache,是瀏覽器在前進后退按鈕上為了提升歷史頁面的渲染速度的一種策略。BFCache會緩存所有的DOM結(jié)構(gòu),但是問題在于,一些頁面開始時進行的上報或者請求可能會被影響。這個問題現(xiàn)在主要會出現(xiàn)在微信h5的開發(fā)中。

責任編輯:武曉燕 來源: 達內(nèi)web前端培訓
相關推薦

2025-03-10 00:17:00

2024-03-22 18:40:27

腦機接口機器人人工智能

2019-01-30 13:44:34

JVM內(nèi)存服務器

2025-06-17 10:00:00

函數(shù)重載函數(shù)重寫C++

2023-05-04 00:06:40

2019-12-19 17:00:01

Java線程

2019-12-25 10:45:30

Java悲觀鎖

2022-10-31 10:03:03

2017-08-15 17:28:03

路由器信號WiFi

2025-06-23 10:05:00

C++模板函數(shù)模板

2018-02-07 08:32:42

2019-07-12 15:28:41

緩存數(shù)據(jù)庫瀏覽器

2019-09-02 08:08:30

緩存HTTP數(shù)據(jù)庫

2023-11-01 10:26:02

燈塔工廠數(shù)字化轉(zhuǎn)型

2017-05-31 08:45:03

2020-04-20 10:33:56

戴爾

2018-04-26 08:40:33

線性回歸算法機器學習

2021-01-08 13:03:48

散熱器風冷水冷

2024-06-24 08:24:57

2021-10-14 06:36:38

存儲云存儲本地存儲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久久久亚洲精品 | 麻豆久久久 | 午夜丰满寂寞少妇精品 | 99国产精品久久久久老师 | 久久国产精品一区二区三区 | 日本精品久久久一区二区三区 | 亚洲欧洲精品一区 | 精品亚洲一区二区三区 | 国产成人一区二区三区 | 国产sm主人调教女m视频 | 三级欧美| 欧美精品一二三 | k8久久久一区二区三区 | 一区二区三区在线播放 | 99精品网| 奇米久久久 | 少妇精品久久久久久久久久 | 亚洲综合色视频在线观看 | 视频二区在线观看 | 日韩精品一区二区三区久久 | 精品久久久久久久久久久 | 日韩视频免费看 | 翔田千里一区二区 | 97av视频在线观看 | 天天干夜夜拍 | 日韩精品在线观看一区二区 | 欧美日日日日bbbbb视频 | 久久精品视频亚洲 | 日日操日日干 | 日日夜夜精品视频 | 91精品一区二区三区久久久久久 | 国产精品jizz在线观看老狼 | 日韩欧美国产精品一区 | 亚洲三级av| 岛国毛片 | 国产激情一区二区三区 | 午夜免费在线 | 亚洲精品国产成人 | 狠狠热视频 | 久久视频精品 | 手机在线不卡av |