浏覽器修改緩存路徑?浏覽器緩存和數據壓縮HTTP緩存機制分類,接下來我們就來聊聊關于浏覽器修改緩存路徑?以下内容大家不妨參考一二希望能幫到您!

浏覽器修改緩存路徑
浏覽器緩存和數據壓縮
HTTP緩存機制分類
1. 200 from cache:直接從本地緩存中獲取響應,最快速,最省流量,因為根本沒有向服務器發送請求
2. 304 Not Modified:協商緩存,浏覽器在本地沒有命中的情況下,請求頭中發送一定的校驗數據到服務端,如果服務端的數據沒有改變,浏覽器從本地緩存響應,返回304。特點:快速,發送的數據很少,隻返回一些基本的響應頭信息,數據量很小,不發送實際響應體
3. 200 OK:以上兩種緩存全部失敗,服務器返回完整響應。沒有用到緩存,相對最慢
header設置HTTP緩存機制
1. pragma:HTTP1.0時代的遺留産物,該字段被設置為no-cache時,會告知浏覽器禁用本地緩存,即每次都向服務器發送請求
2. Expires:HTTP1.0時代用來啟用本地緩存的字段,設置值如‘Thu, 31 Dec 2037 23:55:55 GMT’的格林威治的時間。但浏覽器與服務器的時間無法保持一緻,如果差距大就會影響緩存結果
3. Cache-Control:HTTP1.1針對Expires時間不一緻的解決方案,運用Cache-Control告知浏覽器緩存過期的時間間隔而不是時刻,即使具體時間不一緻,也不影響緩存的管理
優先級:Pragma > Cache-Control > Expires
Cache-Control配置
1. no-store:禁止浏覽器緩存響應
2. no-cache:不允許直接使用本地緩存,先發起請求和服務器協商
3. max-age=delta-seconds:告知浏覽器該響應本緩存的有效的最長期限,以秒為單位
協商緩存
1. 當浏覽器沒有命中本地緩存,如本地緩存過期或者響應中聲名不允許直接使用本地緩存,那麼浏覽器肯定會發起服務端請求
2. 服務端會驗證數據是否修改,如果沒有就通知浏覽器使用本地緩存
header設置協商緩存
1. Last-Modified:通知浏覽器資源的最後修改時間,設置值如‘Thu, 31 Dec 2037 23:55:55 GMT’的格林威治的時間
2. If-Modified-Since:得到資源的最後修改時間後,會将這個信息通過If-Modified-Since提交到服務器做檢查,如果沒有修改,返回304狀态碼,設置值如‘Thu, 31 Dec 2037 23:55:55 GMT’的格林威治的時間
3. ETag:HTTP1.1推出,文件的指紋标識符,如果文件内容修改,指紋也會改變,設置值如‘5a643fc7-38a3’
4. If-None-Match:本地緩存失效,會攜帶此值去請求服務端,服務端判斷該資源是否改變,如果沒有改變,直接使用本地緩存,返回304