訪問乙個web站點的時候,第一次訪問的時候瀏覽器需要載入所有的檔案,這時候主要依賴伺服器的效能、頻寬、以及伺服器的快取設定等,當第二次訪問的時候,我們完全可以利用客戶端瀏覽器快取將不變的css/js/image等元素存到本地,而不必每次向伺服器傳送請求。
這裡需要區分 last-modified \cache-control\expires三個http請求頭的區別,
這裡應用的到區別主要是last-modified需要每次和伺服器協商快取是否過期,主要應用在一些動態內容快取的處理上。
cache-control和expires只是在第一次的時候請求,之後便會從本地判斷是否過期。不同的是cache-control是返回
的相對時間,比如當前時間之後的乙個小時失效,而expires則是絕對的gmt時間,例如在20.14年1月30日失效
(需要注意的是win下採用的時間和gmt時間有8個小時的時差)
針對(css/js/image)等靜態檔案的快取解決辦法是,加乙個filter,這些檔案的響應頭加上對應的過期時間,
這裡採用的是相對的過期時間
public class responseheaderfilter implements filter
// pass the request/response on
chain.dofilter(req, response);
} public void init(filterconfig filterconfig)
public void destroy()
}
這樣第二次訪問這些url下的檔案的時候,就不會向伺服器傳送請求,而是採用本地快取,採用這種優化方式後,我們系統首頁眉次載入大概需要3s,第二次載入只需要0.3s
谷歌瀏覽器css,js的快取問題
在寫jsp的時候,已經將css檔案改了,在elipse裡執行或者其他瀏覽器執行都是好的,但是在谷歌瀏覽器上執行的時候樣式沒有變,不管怎麼儲存都還是原來的樣子,檢視css檔案發現 還是未修改之前的 然後查了一下知道了谷歌瀏覽器有自動快取css樣式表的功能,所以我咋改都不變真的是,解決方法是ctrl f...
html中關於頁面快取的標記
頁面快取有3種 客戶端快取 快取 proxy cache 伺服器 或反向 快取 gateway cache。本文只介紹客戶端快取。客戶端從伺服器請求資料經歷如下基本步驟 1 如果請求命中本地快取 根據完整url 則從本地快取中獲取乙個對應資源的 copy 2 檢查這個 copy 是否fresh,是則...
頁面快取的問題
頁面快取的問題可能大家都遇到過,很多功能做完沒起效果,那麼怎麼解決這個問題呢?這裡給出我的使用的解決方法 對於乙個html頁面,快取分3部分,乙個是頁面內容,乙個是css樣式,乙個是js檔案 1 頁面內容 2 css和js檔案 改成就是只要在每次修改後改一下版本號即可 這樣每次修改後都要改,如果是j...