tft每日頭條

 > 生活

 > 浏覽器緩存有幾個

浏覽器緩存有幾個

生活 更新时间:2025-02-01 00:57:13
1. 浏覽器緩存的種類

cookie

localStorage和sessionStorage

memory cache 和 disk cache

還有其他一些浏覽器緩存,如WebSQL、IndexDB等等,不常用就不分析了。

2. 浏覽器緩存特點分析2.1. cookie緩存

cookie緩存由服務器端生成,一般用來保存session信息,隻要設計合理,一般不會帶來一緻性問題。

2.2. localStorage 和 sessionStorage

localStorage是永久緩存,如果升級前端程序涉及緩存鍵值改變,應在頁面加載時調用清理或重新設置緩存内容的JS代碼。

sessionStorage是跟随當前浏覽器窗口的數據緩存,關閉重新打開浏覽器會自動清空。

2.3. memory cache 和 disk cache

memory cache是浏覽器内部控制的,無法改變,一般也不會帶來副作用。

disk cache是重點關注的浏覽器端的資源文件緩存。

3. 控制disk cache

Http Response Headers中通過cache-control來控制浏覽器采取不同的緩存策略。響應頭參數可以通過Web服務器來配置。這裡以Nginx的配置文件為例。

3.1. private(默認)

server { ... add_header Cache-Control private; (或者不設置,默認為private) ... }

浏覽器緩存有幾個(浏覽器緩存詳解)1

浏覽器緩存有幾個(浏覽器緩存詳解)2

private 意思是使用浏覽器緩存,它配合expires、last-modified等參數來判斷資源文件是否需要重新下載。

3.2. no-cache(推薦)

server { ... add_header Cache-Control no-cache; ... }

浏覽器緩存有幾個(浏覽器緩存詳解)3

浏覽器緩存有幾個(浏覽器緩存詳解)4

no-cache 并非不使用緩存,而是不直接使用緩存,每次都會向服務器請求響應頭,通過對比ETag判斷資源是否發生變動,如果沒有變動(相應結果304),則使用本地緩存。所以這是個在性能和一緻性比較平衡的選項。

3.3. no-store

server { ... add_header Cache-Control no-store; ... }

浏覽器緩存有幾個(浏覽器緩存詳解)5

浏覽器緩存有幾個(浏覽器緩存詳解)6

no-store是讓浏覽器完全不使用緩存,不管資源是否變動,都向服務器請求重新下載資源文件。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved