1. 程式人生 > >http協議緩存小結

http協議緩存小結

保存 must -s ast val tag -a 存在 最新

緩存可以使用expire方式,設置到期時間,緩存的時間等於expire設置的時間減去當前的時間

也可以使用no-cache的方式進行緩存,當設置了no-cache的方式時,以no-cache的為準,expire不起作用

no-cache下常見的有no-store,no-cache,max-age,must-revalidate

no-store,不做緩存,每次返回200,拉取最新的資源

no-cache緩存一份,每次會讀取最新的緩存內容

max-age配合must-revalidate使用,每次校驗是否過期,如果沒過期就讀取緩存返回403,當設置了no-cache時,以no-cache為準

如何判斷是否是最新的緩存

瀏覽器會記錄上次http請求的last-modified和E-tag分別保存在本地的if-modified-since和if-none-match字段裏,

發送請求時會帶上,if-none-match和if-modified-since字段去服務端,和Etag和last-modified比較,

這兩組也可以單獨比較來判斷緩存是否是最新

http協議緩存小結