摘要:告訴瀏覽器在過期時間前瀏覽器可以直接從瀏覽器緩存取數據,而無需再次請求。二協商緩存階段基于客戶端和服務器端的協商緩存機制需要與共同使用,如果配置了且沒有過期,就不會使用過期了之后,才會使用。
瀏覽器緩存
瀏覽器緩存分為幾個階段:
瀏覽器緩存階段 一.強制緩存階段1.cache-control: 決定了瀏覽器端和服務器端緩存的策略,可以出現在響應頭response header中,或者 請求頭 request header中
max-age:指定緩存的最大有效時間,eg:cache-control:max-age=315360000,注意與
expires做區分(與cache-control平級),max-age優先級高于 expires,這個屬性時HTTP1.1中新增的屬性
s-maxage:指定public的緩存,緩存設備有很多,不僅僅瀏覽器是緩存設備,在整個網絡中,可能會存在代理服務器,CDN屬于public緩存設備,因為可以多用戶訪問并讀取信息;什么是private緩存呢,指的是只是你個人訪問的設備,瀏覽器就屬于private緩存設備,eg:s-maxage=31536000;他的優先級高于max-age,只能設定public的緩存設備
private
public
no-cache:錯誤理解:不使用緩存;no-cache指的是不管本地是否設置了max-age(即忽略本地瀏覽器端的緩存策略),都要向服務器端發送請求,由服務器端來判斷緩存情況
no-store:完全不使用任何的緩存策略,不管是服務器端還是瀏覽器端的
2.expires:Thu, 14 Mar 2019 17:29:17 GMT,這個屬性時HTTP1.0中配置,
緩存過期時間,用來指定資源到期時間,是服務器端具體的時間點。
告訴瀏覽器在過期時間前瀏覽器可以直接從瀏覽器緩存取數據,而無需再次請求。
二.協商緩存階段基于客戶端和服務器端的協商緩存機制
1.last-modified
last-modified - response header
if-modified-since - request header
需要與cache-control共同使用,如果配置了max-age 且沒有過期,就不會使用last-modified;過期了之后,才會使用last-modified。
last-modified 缺點:
服務器端不能精確獲取 文件變更時間時
文件修改時間改了,文件內容沒有變
以秒為單位,如果是ms內修改了文件,就體現不出來
2.ETag
文檔內容的hash值
ETag ---- response header
if-None-Match ----request header
etag優先級高于last-modified
狀態碼解析
200(from cache): 瀏覽器端緩存,cache-control:max-age=315360000
或者expires起作用
304: 服務器端緩存,last-modified 或者 etag 起作用
200:瀏覽器端沒有緩存,或者服務器端緩存失效,或者用戶點擊了ctrl+F5 瀏覽器直接從服務器端下載最新的數據
注意:Chrome瀏覽器,手動點擊刷新按鈕都會 在請求頭中,添加 chche-control:max-age=0,這樣就肯定不會使用瀏覽器端的緩存!
更加詳細,請參考:緩存詳解
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/62071.html
整個過程大體描述如下,其中前兩個步驟是在本機完成的,后8個步驟涉及到真正的域名解析服務器: 瀏覽器會檢查緩存中有沒有這個域名對應的解析過的IP地址,如果緩存中有,這個解析過程就結束。瀏覽器緩存域名也是有限制的,不僅瀏覽器緩存大小有限制,而且緩存的時間也有限制,通常情況下為幾分鐘到幾小時不等,域名被緩存的時間限制可以通過TTL屬性來設置。這個緩存時間太長和太短都不太好,如果時間太長,一旦域名被解析...
摘要:文件如果在本機中仍然無法完成域名的解析,則會真正請求域名服務器來解析這個域名了。若沒有命中,就直接到域名服務器請求解析。是國際頂級域名服務器,如等,全球只有臺左右。本地域名服務器再向上一步返回的服務器發送請求。 博文參考 http://www.hackdig.com/ http://www.hackdig.com/07/hack-47475.htm http://www.cnblogs...
摘要:文件如果在本機中仍然無法完成域名的解析,則會真正請求域名服務器來解析這個域名了。若沒有命中,就直接到域名服務器請求解析。是國際頂級域名服務器,如等,全球只有臺左右。本地域名服務器再向上一步返回的服務器發送請求。 博文參考 http://www.hackdig.com/ http://www.hackdig.com/07/hack-47475.htm http://www.cnblogs...
閱讀 781·2021-11-09 09:47
閱讀 1568·2019-08-30 15:44
閱讀 1143·2019-08-26 13:46
閱讀 2107·2019-08-26 13:41
閱讀 1266·2019-08-26 13:32
閱讀 3772·2019-08-26 10:35
閱讀 3519·2019-08-23 17:16
閱讀 448·2019-08-23 17:07