瀏覽器快取及優化

2022-03-07 01:42:43 字數 1752 閱讀 7262

參考:

瀏覽器快取知識小結及應用

chrome61測試:

首頁

doctype html

>

<

html

>

<

head

>

<

meta

charset

="utf-8"

>

<

title

>123

title

>

<

script

src=""

>

script

>

<

script

src="2.js"

>

script

>

<

body

>

body

>

html

>

js

//

srv.js

var express = require('express');

(req, res));

etag:

false

, lastmodified:

false

}));

$.get("/x", function

(result));

測試結果:

node伺服器自動開啟協商快取(以上配置中介軟體取消了檔案的協商快取)

對於ajax,可以伺服器可以設定對應的頭,也可以啟動強快取或者協商快取,也就是說可以控制ajax的快取的。這裡有一點要注意,如果使用瀏覽器去訪問介面,瀏覽器會預設帶上這樣乙個頭,導致強快取失效,但使用**去請求,則沒有這個頭。

就算是按f5重新整理,依然會請求強快取,而不像文章中說的那樣,會跳過強快取

參考:命中強快取的話,不會請求伺服器。命中協商快取的話,會有一次請求,但不會返回資源,兩個都沒命中的話,就只好去伺服器拿資源了。

可以看出對一次發布後,不變的資源設定強快取,可大大提公升效率。

討論過程如下:

預設情況下:大部分web伺服器開啟協商快取,這不影響資源的更新,缺點是每次都會有一次訪問伺服器,而且如果資源沒有更新的話,都返回304,白白浪費了一次請求。

啟用強快取(路徑相同,帶引數):強快取不會請求伺服器,能提公升效率,但會導致資源無法及時更新(資源路徑名更新前後是相同的)。解決辦法,在更新前後使用不同的資源引數(如v=1,v=2表示版本等等),可以強制更新資源。但這又帶來乙個問題,被請求的資源往往是在一台專用的資源伺服器上的。

發布主伺服器和資源伺服器必定有乙個先後次序。

綜上,不管更新誰先,都是不恰當的。這就迎來了下面的解決方案

啟用強快取(路徑不同,檔案以檔案的摘要來命名):這就保證了新的頁面必定對應新的資源,而且也不影響舊的頁面對舊的資源的訪問,也就是說同乙個檔案的不同版本可能對於短期來說都要儲存到資源伺服器上。發布的時候先發布資源伺服器,再發布主伺服器即可。以上命名的過程可以使用工具來實現。

然而強快取不能作用於文章或部落格(要求同一位址指向的內容可能經常發生變化,變化後位址不能發生變化),而應該使用協商快取。但是對於高訪問量時,對可變內容指定乙個短期(如3分鐘)的強快取可以降低伺服器的壓力

快取 瀏覽器快取

瀏覽器快取 brower caching 是瀏覽器在本地磁碟對使用者最近請求過的文件進行儲存,當訪問者再次訪問同一頁面時,瀏覽器就可以直接從本地磁碟載入文件 1 瀏覽器第一次請求時,會發出一組 http 頭,用來指導瀏覽器如何進行快取。伺服器規定乙個資源是否要進行快取,主要由響應頭中的expires...

瀏覽器快取

1.為什麼使用瀏覽器快取 以前了解的動態指令碼加速,或者動態內容快取之類,他們的原理都是避免伺服器重複計算,結果仍保留在伺服器端,這樣獲取資料還得從伺服器檢索然後傳送到使用者瀏覽器,如果我們把這些結果放在瀏覽器中,就省去了伺服器的查詢和網路傳輸,瀏覽器快取很好的實現了這個功能 2.瀏覽器快取存放在哪...

瀏覽器快取

瀏覽器快取知識歸納 瀏覽器快取是提公升網頁效能的一大利器,但是,也是一把雙刃劍。利用的好網頁的效能會有大幅度提公升,伺服器的壓力也會減小。利用的不好,也會遇到很多的問題。本文結合瀏覽器快取的知識,結合真實案例進行分析,希望對讀者有所幫助。瀏覽器快取分類 瀏覽器快取分為強快取和協商快取,瀏覽器載入乙個...