HTTP快取 HTTP權威指南 第七章

2021-10-10 09:13:50 字數 1891 閱讀 6999

web快取是可以自動儲存常見文件副本的http裝置。

如果請求的資源在快取伺服器上已經存在副本,則為快取命中。

如果請求的資源在快取伺服器上不存在副本,則為快取未命中。

快取要保持副本是資源最新更新後的資源。

由快取響應的請求數量佔總的請求數量的比例。

提高快取命中率對降低網路時延有利。

由於請求資源大小不同,有些大小物件被訪問的次數可能比較少,但由於尺寸的原因,對整個資料流量的貢獻卻更大

提高位元組命中率對節省頻寬有利。

如何確認是否需要進行新鮮度檢測?

cache-control : maxage=1234455

date : 2019 01 01 23:59:59

date是第一次請求時,伺服器生成的響應報文的建立時間,maxage是副本的存活時間.

如果當前時間已經大於date+maxage,則副本已經失效,需要進行新鮮度檢測

expires : 2019 03 01 23:59:59

如果當前時間已經大於expires,則說明副本已經失效,需要進行新鮮度檢測

如何進行新鮮度檢測?

last-modified: 2019 03 01 23:59:59 # http響應頭

if-modified-since : 2019 03 01 23:59:59 # http請求頭

快取伺服器將http響應副本中的last-modified的值作為請求報文中的if-modified-since值。

向原始伺服器傳送帶有if-modified-since的header的報文,伺服器將此時間與最新資源的last-modified相比較。

if-modified-since的值應取原來的副本中的last-modified的值。

etag:「v4.6」,「v4.7」 # http響應頭,原始伺服器向快取傳送

if-none-match:「v4.6」,「v4.7」 # http請求頭,快取向原始伺服器傳送

快取伺服器將副本中的響應頭etag的值作為條件,傳送到

原始伺服器如何響應快取伺服器的新鮮度檢測請求?

304 not modified: 如果快取內容仍然是最新的,則響應報文中不會傳送body資料,但是快取伺服器會根據響應頭更新副本中的響應頭,包括last-modified、date、cache-control:maxage、expires、etag等

200 ok:如果快取伺服器的副本已經過期,則原始伺服器會將新的資源內容響應給快取。快取伺服器會將響應報文作為新的副本,替代原來的副本。

404:如果原始伺服器已經刪除這個資源,則快取也將資源副本刪除。

cache-control在響應頭中的含義

no-store:原始伺服器告訴快取伺服器,不應複製此響應報文

no-cache:原始伺服器告訴快取伺服器,可以快取此響應報文,但是每次客戶端請求此資源時,需進行新鮮度驗證

must-realidate:

max-age=123456: s-maxage=123456(僅適用於共享快取)

expires:

cache-control在請求頭中的含義

no-store:客戶端告訴快取,應盡快從快取中刪除此資源的所有文件,因為其中可能包含敏感資訊。即告訴快取,不要快取這個資源的副本

no-cache:客戶端告訴快取伺服器,必須對資源做新鮮度驗證,然後將最新的副本響應回來

max-age=123445:客戶端告訴快取,不可以返回已經快取的時間超過max-age的副本,如果副本的快取時間已經超過了給定的max-age,則應從原始伺服器獲取最新的副本,再響應

min-fresh=12333:客戶端告訴快取,如果距離副本的過期時間不超過min-fresh,則必須從原始伺服器獲得最新副本,響應最新副本給客戶端

only-if-cache:客戶端告訴快取,只有當快取中存在副本時,客戶端才會獲取乙份副本

HTTP權威指南

web 伺服器會為所有 http 物件資料附加乙個 mime 型別,content type image jpeg,content length 12984 伺服器資源名被稱為統一資源識別符號 uniform resource identifier,uri uri 就像網際網路上的郵政位址一樣,在世...

HTTP權威指南 HTTP報文

在開始學習本章之前,先來提一些問題,什麼是報文?如何建立報文?怎麼去理解報文?以及報文的用處有哪些?什麼是報文?可以這麼去理解,如果說http是網際網路的信使,那麼http報文就是它用來搬東西的包裹了。一 報文流 http報文是在http應用程式之間傳送的資料塊。這些資料塊以一些文字形式的元資訊開頭...

《HTTP權威指南》讀書筆記 快取

web快取是可以自動儲存常見文件副本的http裝置 包括瀏覽器?減少冗餘資料傳輸 緩解頻寬瓶頸 很多網路為本地網路客戶端提供的頻寬比為遠端伺服器提供的頻寬要寬 緩解瞬時擁塞 不會所有的請求都奔著一台伺服器去 降低距離時延 就近訪問麼 命中率 請求命中快取的比例 位元組命中率 請求命中快取的文件,其文...