瀏覽器快取:包括頁面html
快取和js
,css
等資源的快取。如下圖,瀏覽器快取是基於把頁面資訊儲存到使用者本地電腦硬碟裡。
1、快取的優勢
1)伺服器響應更快:因為請求從快取伺服器(離客戶端更近)而不是源伺服器被相應,這個過程耗時更少,讓伺服器看上去響應更快。
2)減少網路頻寬消耗:當副本被重用時會減低客戶端的頻寬消耗;客戶可以節省頻寬費用,控制頻寬的需求的增長並更易於管理。
2、快取工作原理
頁面快取狀態是由http header
決定的,乙個瀏覽器請求資訊,乙個是伺服器響應資訊。頁面快取狀態是由
決定的,乙個瀏覽器請求資訊,乙個是伺服器響應資訊。
工作原理圖:
從圖中我們可以看到原理主要分三步:
1、第一次請求:瀏覽器通過
的header
報頭,附帶
expires
,cache-control
,last-modified/etag
向伺服器請求,此時伺服器記錄第一次請求的
last-modified/etag
2、再次請求:當瀏覽器再次請求的時候,請求頭附帶
expires
,cache-control
,if-modified-since/etag
向伺服器請求
3、伺服器根據第一次記錄的
last-modified/etag
和再次請求的
if-modified-since/etag
304響應。常見流程如下圖所示:
與快取相關的http
擴充套件訊息頭
expires:設定頁面過期時間,格林威治時間
gmtcache-control:更細緻的控制快取的內容
last-modified:請求物件最後一次的修改時間 用來判斷快取是否過期 通常由檔案的時間資訊產生
etag:響應中資源的校驗值,在伺服器上某個時段是唯一標識的。
etag
是乙個可以 與
web資源關聯的記號(
token
),和last-modified
功能才不多,也是乙個識別符號,一般和
last-modified
一起使用,加強伺服器判斷的準確度。
date:伺服器的時間
if-modified-since:客戶端訪問的該資源最後一次修改的時間,用來和伺服器端的
last-modified
做比較。
if-none-match:客戶端訪問的該資源的檢驗值,同
etag
。3、關於,css,js
,flash
的快取這個主要通過伺服器的配置來實現這個技術,如果使用apache
伺服器的話,可以使用mod_expires模組來實現:
編譯mod_expires
模組:cd /root/httpd-2.2.3/modules/metadata
/usr/local/apache/bin/apxs -i -a -c mod_expires.c //編譯
編輯httpd.conf
配置:新增下面內容
解釋:第一句--
開啟服務
第二句--
預設時間是乙個月
在下面是關於各種型別的資源的快取時間。
快取 瀏覽器快取
瀏覽器快取 brower caching 是瀏覽器在本地磁碟對使用者最近請求過的文件進行儲存,當訪問者再次訪問同一頁面時,瀏覽器就可以直接從本地磁碟載入文件 1 瀏覽器第一次請求時,會發出一組 http 頭,用來指導瀏覽器如何進行快取。伺服器規定乙個資源是否要進行快取,主要由響應頭中的expires...
瀏覽器快取
1.為什麼使用瀏覽器快取 以前了解的動態指令碼加速,或者動態內容快取之類,他們的原理都是避免伺服器重複計算,結果仍保留在伺服器端,這樣獲取資料還得從伺服器檢索然後傳送到使用者瀏覽器,如果我們把這些結果放在瀏覽器中,就省去了伺服器的查詢和網路傳輸,瀏覽器快取很好的實現了這個功能 2.瀏覽器快取存放在哪...
瀏覽器快取
瀏覽器快取知識歸納 瀏覽器快取是提公升網頁效能的一大利器,但是,也是一把雙刃劍。利用的好網頁的效能會有大幅度提公升,伺服器的壓力也會減小。利用的不好,也會遇到很多的問題。本文結合瀏覽器快取的知識,結合真實案例進行分析,希望對讀者有所幫助。瀏覽器快取分類 瀏覽器快取分為強快取和協商快取,瀏覽器載入乙個...