緩存優點 通常所說的Web緩存指的是可以自動保存常見http請求副本的http設備。對於前端開發者來說,瀏覽器充當了重要角色。除此外常見的還有各種各樣的代理伺服器也可以做緩存。當Web請求到達緩存時,緩存從本地副本中提取這個副本內容而不需要經過伺服器。這帶來了以下優點: 緩存減少了冗餘的數據傳輸 緩 ...
緩存優點 通常所說的Web緩存指的是可以自動保存常見http請求副本的http設備。對於前端開發者來說,瀏覽器充當了重要角色。除此外常見的還有各種各樣的代理伺服器也可以做緩存。當Web請求到達緩存時,緩存從本地副本中提取這個副本內容而不需要經過伺服器。這帶來了以下優點: 緩存減少了冗餘的數據傳輸
緩存優點
通常所說的Web緩存指的是可以自動保存常見http請求副本的http設備。對於前端開發者來說,瀏覽器充當了重要角色。除此外常見的還有各種各樣的代理伺服器也可以做緩存。當Web請求到達緩存時,緩存從本地副本
中提取這個副本內容而不需要經過伺服器。這帶來了以下優點:
- 緩存減少了冗餘的數據傳輸,節省流量
- 緩存緩解了帶寬瓶頸問題。不需要更多的帶寬就能更快載入頁面
- 緩存緩解了瞬間擁塞,降低了對原始伺服器的要求。
- 緩存降低了距離延時, 因為從較遠的地方載入頁面會更慢一些。
緩存種類
緩存可以是單個用戶專用的,也可以是多個用戶共用的。專用緩存被稱為私有緩存
,共用的緩存被稱為公有緩存
。
私有緩存
私有緩存只針對專有用戶,所以不需要很大空間,廉價。Web瀏覽器中有內建的私有緩存——大多數瀏覽器都會將常用資源緩存在你的個人電腦的磁碟和記憶體中。如Chrome瀏覽器的緩存存放位置就在:C:\Users\Your_Account\AppData\Local\Google\Chrome\User Data\Default
中的Cache文件夾和Media Cache文件夾。
公有緩存
公有緩存是特殊的共用代理伺服器,被稱為緩存代理伺服器
或代理緩存
(反向代理的一種用途)。公有緩存會接受來自多個用戶的訪問,所以通過它能夠更好的減少冗餘流量。
下圖中每個客戶端都會重覆的向伺服器訪問一個資源(此時還不在私有緩存中),這樣它會多次訪問伺服器,增加伺服器壓力。而使用共用的公有緩存時,緩存只需要從伺服器取一次,以後不用再經過伺服器,能夠顯著減輕伺服器壓力。
事實上在實際應用中通常採用層次化的公有緩存,基本思想是在靠近客戶端的地方使用小型廉價緩存,而更高層次中,則逐步採用更大、功能更強的緩存在裝載多用戶共用的資源。
伺服器再驗證
瀏覽器或代理緩存中緩存的資源過期了,並不意味著它和原始伺服器上的資源有實際的差異,僅僅意味著到了要進行核對的時間了。這種情況被稱為伺服器再驗證。
- 如果資源發生變化,則需要取得新的資源,併在緩存中替換舊資源。
- 如果資源沒有發生變化,緩存只需要獲取新的響應頭,和一個新的過期時間,對緩存中的資源過期時間進行更新即可。 HTTP1.1推薦使用的驗證方式是
If-None-Match
/Etag
,在HTTP1.0中則使用If-Modified-Since
/Last-Modified
。