日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

HTTP 协议 -- 浏览器缓存机制

發布時間:2023/11/30 HTML 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTP 协议 -- 浏览器缓存机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
瀏覽器緩存機制 瀏覽器緩存機制主要是 HTTP 協議定義的緩存機制。 HTTP 協議中有關緩存的緩存信息頭的關鍵字有 Cache-Control,Pragma,Expires,Last-Modified/ETag 等。 瀏覽器請求流程 瀏覽器第一請求流程: ? 瀏覽器再次請求流程: ETag/If-None-Match 當資源過期時(Cache-Control 中 max-age 設置),發現資源有 ETag 聲明,則再次向服務器請求帶上?If-None-Match (ETag 值)。服務器收到請求后發現頭?If-None-Match,則與被請求資源相應校驗串進行對比,返回 200 或 304 。 Last-Modified/If-Modified-Since 當資源過期時(Cache-Control 中 max-age 設置),發現資源有 Last-Modified 聲明,則再次向服務器請求時帶上?If-Modified-Since,表示請求時間。服務器收到請求后發現頭有?If-Modified-Since ,則與被請求的資源進行最后修改時間進行對比。若最后修改時間較新,說明資源又被改動過,則響應整片資源內容(200);若最后修改時間較舊,說明資源沒有修改,會響應 304,告知瀏覽器繼續使用保存的 cache 。 Last-Modified 和 ETag 區別? ETag 出現是為了解決 Last-Modified 幾個難解決的問題: Last-Modified 標注的資源最后修改時間只能精確到秒級; 若某些文件被定期生成,有時它們內容沒有變化,但是 Last-Modified 卻改變了,這樣導致文件無法使用緩存; 有可能存在服務器沒有準確獲取文件的最后時間,或者與代理服務器時間不一致。 ETag 由服務器自動生成,能根據準確的控制緩存。當 Last-Modified 與 ETag 一起使用時,服務器會優先驗證 ETag。 瀏覽器檢查緩存機制流程 ? 在用戶端,瀏覽器有一系列機制通過緩存來提升頁面加載速度。例如 IE/Chrome 都會緩存 GET 類型的 AJAX 請求,IE 甚至還會緩存 POST 類型的請求,可以通過增加時間戳參數的方式來強制清除緩存。對于所有的靜態資源文件,最佳實踐是為它們增加一個永不過期的長緩存。 Cache-Control 是瀏覽器緩存機制中最重要的一個配置,下面是瀏覽器加載靜態資源文件時緩存檢查機制流程: 從上可以看出,靜態資源優化的最佳狀態是:從本地緩存資源讀取 > 304 狀態 > 200 狀態。 參考文章: 瀏覽器 HTTP 協議緩存機制詳解:http://www.open-open.com/lib/view/open1421744212609.html 瀏覽器緩存機制詳解:http://mangguo.org/browser-cache-mechanism-detailed/ http://www.cnblogs.com/kaiye/p/5030893.html

轉載于:https://www.cnblogs.com/god--love-you/p/6691312.html

總結

以上是生活随笔為你收集整理的HTTP 协议 -- 浏览器缓存机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。