您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“web中http緩存的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“web中http緩存的示例分析”這篇文章吧。
1.當輸入網址到加載出頁面, 電腦會經過"CPU計算、網絡請求、頁面渲染"等一系列步驟;
2.“網絡請求"是其中最不確定、最耗時的一個環節, 針對這個環節, 我們可以通過"減少網絡請求的體積和數量”, 來更快加載出頁面, 這是"緩存"存在的原因;
3.通過"緩存"可以實現"減少網絡請求的體積和數量";
1.當第一次訪問某個網站, 該網站后端如果認為請求的資源(css、js、圖片等)應該被瀏覽器緩存下來
2.后端會在響應頭中添加一個配置:
Cache-Control: max-age=12146545
(單位:秒)
3.當我們再次請求該網站時, 會直接從本地緩存讀取資源, 不會向服務器請求緩存的資源
4.如果緩存資源過期了, 會從服務端請求所有資源, 并再次緩存加了配置項的資源
5.Cache-Control 的設置, 由后端開發決定, 不涉及前端, 當然也可以設置成不緩存: Cache-Control: no-cache
1.協商緩存是服務端的一種緩存策略;
2.當第一次訪問某個網站, 發送請求時, 服務器會返回資源和資源標識. 瀏覽器會把資源和資源標識都緩存下來;
3.當再次發送請求時, 會帶上資源標識, 服務器會把請求中的資源標識, 和服務器中的最新資源標識, 作對比:
如果一致: 服務器只返回304
, 瀏覽器會在緩存中直接獲取資源(減少請求數據的體積);
如果不一致: 服務器會返回200
和 請求的資源
及 最新資源標識
(體積會相對大一些)
資源標識有兩種, 發送請求時, 都是放在請求頭中:
Last-Modified
: 資源上一次修改的時間
If-Modified-Since: xxxxx (鍵名和Last-Modified不一樣)
ETag
: 資源對象的唯一字符串
If-None-Match: xxxx(鍵名和Last-Modified不一樣)
優先級的問題
一般來說會優先使用 ETag , 因為 Last-Modified 的值只精確到 秒級
文件如果每隔一段時間都重復生成,但內容相同。
Last-Modified 會每次返回資源文件,即便內容相同。
但是Etag可以判斷出文件內容相同,就會返回304,使用緩存
以上是“web中http緩存的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。