中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

瀏覽器緩存策略的示例分析

發布時間:2020-12-02 10:53:00 來源:億速云 閱讀:116 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關瀏覽器緩存策略的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

為了提高站點的訪問速度,使用緩存來優化。緩存主要分為 強緩存和協商緩存。

協商緩存

主要分為last-modified、etag。下面我主要通過代碼修改來表現各個緩存之間的區別。先討論協商緩存。last-modified表示文件的修改日期,如果文件做了修改那就應該重新獲取文件。last-modified是文件修改后根據服務器的時間生成。

瀏覽器緩存策略的示例分析

如果我們修改了文件則會重新獲取,status就為200

瀏覽器緩存策略的示例分析

再次刷新就會返回304表示緩存已經是最新不需要再更新。
請求中會詢問相關文件修改時間(If-Modified-Since)

請求

瀏覽器緩存策略的示例分析

響應

瀏覽器緩存策略的示例分析

ETag:是一個可以與Web資源關聯的記號(token)

如果文件被替換,就會生成唯一的etag。

替換前的文件

瀏覽器緩存策略的示例分析

替換后的文件

瀏覽器緩存策略的示例分析

PS: 如果是使用了多臺服務器做負載均衡的話,會出現etag不一致問題。Apache 的默認ETag的值總是由文件的索引節點(Inode)、大小(Size)、最后修改時間(MTime)決定,我們只需要去掉Inode即可

強緩存

強緩存相比協商緩存更為徹底,在強緩存下瀏覽器不會對服務器發起請求。

強緩存:主要分為expires和cache-control

Expires: 表示存在時間,允許客戶端在這個時間之前不去檢查(發請求),等同max-age的 效果。但是如果同時存在,則被Cache-Control的max-age覆蓋。 格式: Expires :時間,后面跟一個時間或者日期,超過這個時間后緩存失效。也就是瀏覽器發出請求之前,會檢查這個時間是否失效,若失效,則瀏覽器會重新發出請求。

開啟apache expires_mod之后,瀏覽器在第一次將資源請求之后會緩存。

瀏覽器緩存策略的示例分析

Cache-Control
Cache-Control 在 HTTP 響應頭中,用于指示代理和 UA 使用何種緩存策略。比如:

  • no-cache 為本次響應不可直接用于后續請求(在沒有向服務器進行校驗的情況下)
  • no-store 為禁止緩存(不得存儲到非易失性介質,如果有的話盡量移除,用于敏感信息)
  • public為大家都可以緩存。
  • private為僅 UA 可緩存

cache-control中設置max-age 為最長的緩存時間。在該時間內則使用緩存。

瀏覽器緩存策略的示例分析

設置為no-cache之后則不會再進行緩存。
瀏覽器緩存策略的示例分析

題外話

在使用apache對瀏覽器緩存進行測試過程中發現。在不設置 cache-control的情況下,瀏覽器會根據自身的情況去取舍相關的緩存,可以從這查看。如果大家在服務器配置過程中發現,自己沒有配置任何的緩存信息但是瀏覽器卻緩存了資源就不用驚訝。

關于瀏覽器緩存策略的示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九江市| 南阳市| 万荣县| 丹江口市| 南平市| 岱山县| 藁城市| 随州市| 元氏县| 老河口市| 宣武区| 丰顺县| 永登县| 炉霍县| 高淳县| 祁阳县| 娱乐| 焉耆| 晋城| 呼和浩特市| 康定县| 龙山县| 大余县| 钦州市| 德州市| 武乡县| 三河市| 石阡县| 苍南县| 泾源县| 潍坊市| 莫力| 九江市| 门头沟区| 井冈山市| 丽水市| 昭平县| 陇川县| 朝阳县| 沾化县| 石阡县|