流覽器快取

流覽器快取

流覽器快取(Browser Caching)是為了節約網路的資源加速流覽,流覽器在使用者磁碟上對最近請求過的文檔進行存儲,當訪問者再次請求這個頁面時,流覽器就可以從在地磁碟顯示文檔,這樣就可以加速頁面的閱覽。

流覽器快取主要有兩類:快取協商:Last-modified ,Etag 和徹底快取:cache-control,Expires。

  • 中文名稱
    流覽器快取
  • 外文名稱
    Browser Caching
  • 作用
    加速頁面的閱覽
  • 分類
    快取協商、徹底快取
  • 清除快取
    internet選項
  • 儲存地址
    使用者磁碟

定義特征

流覽器快取(Browser Caching)是為了加速流覽,流覽器在使用者磁碟上對請求過的文檔進行存儲,當訪問者再次請求這個頁面時,流覽器就可以從在地磁碟顯示文檔,這樣就可以加 速

流覽器快取流覽器快取

頁面的閱覽。它是網站訪問統計最難解決的問題之一。

但是,Web伺服器可能因此而未計算一個頁面或廣告已被閱覽的次數。

快取的方式節約了網路的資源,提高了網路的效率。

清理方法

清除快取

開啟IE,選擇"工具--internet選項",切換到"高級"選項卡,找到"關閉流覽器時清空internet臨時資料夾",並將其選中,確定即可.

要清空 Mozilla Firefox 的快取,請按以下步驟操作:

單擊流覽器頂部的"Tools"(工具)選單,並選擇"Options"(選項)。

單擊"Privacy"(隱私)。

單擊"Cache"(高速緩沖)旁邊的"Clear"(清空快取)。

單擊"OK"(確定)。

要清空 Mozilla 和 Netscape 的快取,請按以下步驟操作:

登出您的 AdSense帳戶。關閉所有其他開啟的流覽器視窗。

單擊流覽器頂部的"Edit"(編輯)選單,然後選擇"Preferences"(首選項)。

單擊"Advanced"(高級)旁邊的"+"。

單擊"Advanced"(高級)下面的"Cache"(高速快取)。

單擊"Clear Cache"(清除高速快取)。

單擊"OK"(確定)。

要清空 Safari 的快取,請按以下步驟操作:

登出您的 AdSense 帳戶。關閉所有其他開啟的流覽器視窗。

開啟流覽器工具列中的"Safari"選單。

選擇"Empty Cache"(清空快取)。

單擊該對話框中的"Empty"(清空)。

某些情況下,可能需要多次清空您的快取。

流覽器快取主要有兩類

快取協商:Last-modified ,Etag

徹底快取:cache-control,Expires

快取協商的意思是需要去伺服器端詢問頁面有沒有修改過,沒有修改過則返回304直接使用快取內容,否則返回新內容

協商步驟:

伺服器傳送帶Last-modified:GMTtime 頭的http response

流覽器下次請求時帶上if-modified-since:GMTtime http 請求頭

服務端用在地Last-modified時間與if-modified-since比較,計算流覽器資料是否過期並傳送回響

Etag的工作原理與Last-modified類似,不同點在于Etag的值是使用者可自定義的

快取協商可套用在動態頁面且即時性不是特別強的頁面,如網站首頁

要清空 Chrome 的快取,請按以下步驟操作:

開啟chrome流覽器,使用Ctrl+Shift+Delete快捷鍵,就會開啟清理流覽資料頁面,選擇清理快取選項,

然後單擊"清除流覽資料"按鍵即可。

或者單擊流覽器上的扳手-->選項-->高級選項-->隱私設定一欄中的清楚流覽資料 之後重復上面的步驟。

徹底快取

徹底快取的意思是在快取失效之前不再需要跟伺服器互動

常用的是Expires,Expires的值是一個絕對時間,由伺服器產生

這兒存在一個問題,就是伺服器的時間可能給客戶端的時間不一致導致快取時間的偏差

要解決這個問題就要使用cache-control,它儲存的是一個相對流覽器的時間

如果同時存在cache-control和Expires怎麽辦呢?

流覽器總是優先使用cache-control,如果沒有cache-control才考慮Expires

流覽器快取最大的價值是節省了頻寬

為什麽沒有提高吞吐率呢? 下面來分析一下

這裏分兩種情況:靜態頁面動態頁面

服務端載入靜態頁面需要進行磁碟IO,流覽器快取則可節省這部分時間,不過伺服器一般會用squid等工具進行快取,所以靜態資源在提高吞吐率方面效果不明顯

再來看一看動態資源

動態資源也分為兩類:即時動態和準即時動態

即時動態是不能用流覽器快取的

準即時動態頁面可節省磁碟IO和計算時間,但是讓流覽器快取的時間不可太久,且在在地重復訪問的概率也不大

所以說動態內容在提高吞吐率方面效果也不明顯

對于準即時動態頁面倒是可以快取在服務端,如squid

相關詞條

其它詞條