久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

你值得了解的HTTP緩存機制(代碼詳解)

之前的文章《深入解析vue中路由切換白屏的問題(附代碼)》中,給大家了解了vue中路由切換白屏的問題。下面本篇文章給大家了解HTTP緩存機制詳解,有一定的參考價值,有需要的朋友可以參考一下,希望對你們有所助。

你值得了解的HTTP緩存機制(代碼詳解)

Web緩存大致可以分為:數據庫緩存、服務器端緩存(代理服務器緩存、CDN緩存)、瀏覽器緩存。

瀏覽器緩存也包含很多內容:HTTP緩存、indexDBcookielocalstorage等等。 這里要說的是http緩存。

使用緩存的好處

  • 減少了冗余的數據傳輸

  • 緩解了網絡瓶頸的問題

  • 降低了對原始服務器的要求

  • 降低了距離時延

術語

緩存命中率:從緩存中得到數據的請求數與所有請求數的比率。理想狀態是越高越好。

過期內容:超過設置的有效時間,被標記為“陳舊”的內容。通常過期內容不能用于回復客戶端的請求,必須重新向源服務器請求新的內容或者驗證緩存的內容是否仍然準備。

驗證:驗證緩存中的過期內容是否仍然有效,驗證通過的話刷新過期時間。

失效:失效就是把內容從緩存中移除。當內容發生改變時就必須移除失效的內容。

機制

你值得了解的HTTP緩存機制(代碼詳解)

策略

1)緩存存儲策略

緩存存儲策略決定了客戶端是否應該存儲httpresponse。與緩存存儲有關的http header主要為response header中的Cache-Control。該header有下面幾個對應的值:PublicPrivateno-cachemax-ageno-store。除了no-store,其它幾種都會表明response應該被客戶端緩存。

指令 說明
Public 所有內容都將被緩存(客戶端和代理服務器都可緩存)
Private 內容只緩存到私有緩存中(僅客戶端可以緩存,代理服務器不可緩存)
max-age = xxx (xxx is numeric) 緩存的內容將在 xxx 秒后失效,失效前可以直接使用本地緩存,失效后必須向服務器確認資源是否已經改變。
no-store 完全不在客戶端緩存
no-cache 可以認為等同于 max-age=0 的情況,即將 response 緩存在客戶端,但是之后每次都向服務器確認資源是否已經改變

通過Cache-Control:Public設置我們可以將HTTP響應數據存儲到本地,但此時并不意味著后續瀏覽器會直接從緩存中讀取數據并使用, 因為它無法確定本地緩存的數據是否可用(可能已經失效),需通過緩存過期策略來判斷

2)緩存過期策略

緩存過期策略決定了客戶端存儲在本地的緩存數據是否已過期,如未過期則可以直接使用本地存儲的數據,否則就需要發請求到服務端嘗試重新獲取數據。 與緩存過期策略有關的http header 為Expires

Expires表示緩存數據有效的絕對時間,告訴客戶端到了這個時間點后本地緩存就失效了,在這個時間內客戶端可以不請求服務器而直接從本地緩存中使用已存儲的結果。

需要注意的是:no-cache和max-age=xxx的優先級高于Expires,當它們同時存在的時候,后者會被覆蓋掉。其次, 緩存數據過期只是告訴客戶端不能再直接從本地讀取緩存了,而是需要再發一次請求到服務器去確認。具體什么情況下本地存儲的數據還可以繼續使用就與緩存對比策略有關了。

3)緩存對比策略

將緩存在客戶端的數據標識發往服務端,服務端通過標識來判斷客戶端緩存數據是否仍有效,進而決定是否要重發數據。客戶端檢測到數據過期或瀏覽器刷新后,會重新發起一個 http 請求到服務器,服務器此時并不急于返回數據,而是看請求頭有沒有帶標識(If-Modified-Since、If-None-Match)過來,如果判斷標識仍然有效,則返回304告訴客戶端取本地緩存數據來用即可(這里要注意的是你必須要在首次響應時輸出相應的頭信息(Last-Modified、ETags)到客戶端)。 本地緩存數據即使被認為過期,并不等于數據從此就沒用了。

緩存過期取值

存儲策略里面no-cache等同于max-age=0,假如服務端返回的響應中沒有指明max-ageno-cacheExpires時,客戶端是否會緩存 http response呢 ?通過FiddlerCharles等抓包工具可以發現,客戶端一樣會進行緩存

其取值值為響應頭中的DateLast-Modified之間的差值的10%作為緩存有效時間

FiddlerCaching面板中可以看到

HTTP/1.1 Cache-Control Header is present: private HTTP Last-Modified Header is present: Tue, 08 Nov 2016 06:59:00 GMT No explicit HTTP Cache Lifetime information was provided. Heuristic expiration policies suggest defaulting to: 10% of the delta between Last-Modified and Date. That's '05:15:02' so this response will heuristically expire 2016/11/11 0:46:01.

用一副圖來表示

你值得了解的HTTP緩存機制(代碼詳解)

緩存的控制

1)強制緩存

可以通過ExpiresCache-Control來設定,Expires指緩存過期的時間,超過了這個時間點就代表資源過期。有一個問題是由于使用具體時間,如果時間表示出錯或者沒有轉換到正確的時區都可能造成緩存生命周期出錯。 并且ExpiresHTTP/1.0的標準,現在更傾向于用HTTP/1.1中定義的Cache-Control。兩個同時存在時也是Cache-Control的優先級更高。

2)協商緩存

緩存的資源到期了,并不意味著資源內容發生了改變,如果和服務器上的資源沒有差異,實際上沒有必要再次請求。客戶端和服務器端通過某種驗證機制驗證當前請求資源是否可以使用緩存。 瀏覽器第一次請求數據之后會將數據和響應頭部的緩存標識存儲起來。再次請求時會帶上存儲的頭部字段,服務器端驗證是否可用。如果返回304 Not Modified,代表資源沒有發生改變可以使用緩存的數據,獲取新的過期時間。反之返回200就相當于重新請求了一遍資源并替換舊資源。

Last-modified/If-Modified-Since

Last-modified: 服務器端資源的最后修改時間,響應頭部會帶上這個標識。第一次請求之后,瀏覽器記錄這個時間,再次請求時,請求頭部帶上If-Modified-Since即為之前記錄下的時間。服務器端收到帶If-Modified-Since的請求后會去和資源的最后修改時間對比。若修改過就返回最新資源,狀態碼200,若沒有修改過則返回304

你值得了解的HTTP緩存機制(代碼詳解)

Etag/If-None-Match

由服務器端上生成的一段hash字符串,第一次請求時響應頭帶上ETag: abcd,之后的請求中帶上If-None-Match: abcd,服務器檢查ETag,返回304200

關于 last-modified 和 Etag 區別

  • 某些服務器不能精確得到資源的最后修改時間,這樣就無法通過最后修改時間判斷資源是否更新。

  • Last-modified只能精確到秒。

  • 一些資源的最后修改時間改變了,但是內容沒改變,使用Last-modified看不出內容沒有改變。

  • Etag的精度比Last-modified高,屬于強驗證,要求資源字節級別的一致,優先級高。如果服務器端有提供ETag的話,必須先對ETag進行Conditional Request

注意:實際使用ETag/Last-modified要注意保持一致性,做負載均衡和反向代理的話可能會出現不一致的情況。計算ETag也是需要占用資源的,如果修改不是過于頻繁,看自己的需求用Cache-Control是否可以滿足。

實際應用

首先要明確哪些內容適合被緩存哪些不適合。

考慮緩存的內容:css樣式文件,js文件,logo、圖標,html文件,可以下載的內容一些不應該被緩存的內容:業務敏感的GET請求

可緩存的內容又分為幾種不同的情況:

不經常改變的文件:給max-age設置一個較大的值,一般設置max-age=31536000比如引入的一些第三方文件、打包出來的帶有hash后綴cssjs文件。一般來說文件內容改變了,會更新版本號、hash值,相當于請求另一個文件。 標準中規定max-age的值最大不超過一年,所以設成max-age=31536000。至于過期內容,緩存區會將一段時間沒有使用的文件刪除掉。

[完]

推薦學習:Html5視頻教程

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
xxxxx性欧美特大| 理论片午夜视频在线观看| 免费国产自久久久久三四区久久| 美女精品久久| 国产激情久久| 精品午夜视频| 国产精品二区不卡| 亚洲欧洲高清| 国产精品久久久久久久久久10秀| 四虎8848精品成人免费网站| 成人一区而且| 精品亚洲美女网站| 久久激情网站| 日韩视频免费| 日韩精品一卡二卡三卡四卡无卡| 亚洲视频电影在线| 欧美亚洲tv| 久久精品国产99国产| 91视频一区| 黄色亚洲免费| 欧美一区=区三区| 精品国产三区在线| 色婷婷精品视频| 久久久国产精品一区二区中文| 99久久久久| 蜜桃视频在线观看一区二区| 欧美日韩夜夜| 亚洲欧洲美洲av| 一本一本久久| 国产伦精品一区二区三区视频| 国产精品99一区二区三| 好吊日精品视频| 国产欧美综合一区二区三区| 日本一区二区高清不卡| jiujiure精品视频播放| 日本午夜精品久久久久| 91免费精品| 日韩中文字幕一区二区三区| 亚洲欧洲免费| 国产一区二区精品久| 午夜日韩在线| 国产美女久久| 91tv亚洲精品香蕉国产一区| 亚洲欧美日韩精品一区二区| 国产精品调教| 91精品啪在线观看国产18| 日本亚洲最大的色成网站www| 丰满少妇一区| 日av在线不卡| 波多野结衣久久精品| 中文字幕日韩欧美精品高清在线| 免费一级欧美片在线观看网站| 午夜久久黄色| 国产极品一区| 久久99伊人| 正在播放日韩精品| 午夜天堂精品久久久久| 国产激情在线播放| 日本精品一区二区三区在线观看视频| 三级在线看中文字幕完整版| 日本aⅴ亚洲精品中文乱码| 久久久噜噜噜| 国产精品中文字幕制服诱惑| 欧美日韩黑人| 狠狠久久伊人| 日韩激情一区二区| 午夜精品影院| 国产一区二区三区日韩精品| 亚洲黄色影院| 岛国av在线播放| 欧美日韩 国产精品| 亚洲激情黄色| 亚洲深夜视频| 国产精品久久久久久久久免费高清 | 99国产一区| 国产精品115| 日韩精品一区第一页| 欧美亚洲日本精品| 国产精品久久久久久妇女| 亚洲欧美成人综合| 日韩国产欧美| 麻豆精品视频在线| 亚洲精品九九| 亚洲成人免费| 欧美日韩视频免费观看| 国产精品99久久免费观看| 免费观看日韩电影| 欧美日韩一区二区综合| 国产一区二区亚洲| 国产精品亚洲片在线播放| 久久av在线| 91精品国产自产在线观看永久∴| 欧美激情aⅴ一区二区三区 | 日韩激情网站| 亚洲欧洲另类| 99久久亚洲精品蜜臀| 捆绑调教日本一区二区三区| 国产精品嫩草影院在线看| 少妇精品久久久一区二区| 久久xxxx| 一区二区视频欧美| 久久精品影视| 日韩毛片视频| 久久不卡国产精品一区二区| 综合亚洲色图| 一区二区三区午夜视频| 亚洲欧美日本国产专区一区| 极品裸体白嫩激情啪啪国产精品| 久久久久久久欧美精品| 久久精品99国产精品日本| 免费人成网站在线观看欧美高清| 99精品电影| 天堂av在线一区| 一区二区视频欧美| 欧美成人亚洲| 国产一区日韩一区| 久久亚洲国产| 亚洲福利久久| 国产精品成人国产| 国产欧美日韩免费观看| 欧美一区久久| 欧美日韩亚洲一区在线观看| 欧美影院精品| 88久久精品| 国产探花一区二区| 日本va欧美va精品发布| 91成人在线网站| 国产精品a久久久久| 欧美国产日韩电影| 久久中文字幕一区二区三区| 精品视频在线你懂得| 高清日韩中文字幕| 亚洲精品福利电影| 国产综合精品一区| 香蕉久久夜色精品国产| 亚洲人成网站在线在线观看| 日本成人中文字幕| 国产精品国码视频| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 国产日韩一区二区三区在线| 国产亚洲电影| 精品国产黄a∨片高清在线| 伊人久久视频| 日本欧美不卡| 日韩视频二区| 日韩国产欧美在线播放| 国产精品v日韩精品v欧美精品网站| 久久xxx视频| 免费福利视频一区二区三区| 国产中文一区| 一区二区三区四区日韩| 国产精品网址| 999精品色在线播放| 在线午夜精品| 日本精品一区二区三区在线观看视频| 国产精品啊v在线| 亚洲成人av观看| 久久国产高清| 日本不卡不码高清免费观看| 久久精品一区二区国产| 神马午夜久久| 一区二区日韩免费看| 国产午夜一区| 肉色欧美久久久久久久免费看| 日韩视频一区二区三区在线播放免费观看| 亚洲麻豆一区| 国产91在线播放精品| 亚洲国产不卡| 国产伦理一区| 136国产福利精品导航网址| 日日摸夜夜添夜夜添国产精品| 精品久久久中文字幕| 伊人影院久久| 国产伦理久久久久久妇女| 久久精品高清| 日韩成人午夜精品| 一区二区三区四区日本视频| 首页亚洲欧美制服丝腿| 亚洲天堂久久| 国产欧美日韩在线观看视频| 成人羞羞在线观看网站| 日本久久二区| 欧美日韩在线观看视频小说| 日韩成人精品一区二区三区| 日韩精品一区二区三区免费观影 | 久久精品xxxxx| 久久免费国产| 91精品丝袜国产高跟在线| 夜鲁夜鲁夜鲁视频在线播放| 少妇精品久久久一区二区| 天堂а√在线最新版中文在线| 伊人久久大香伊蕉在人线观看热v| 国产一区二区三区国产精品| 日韩精品一级中文字幕精品视频免费观看 | 国产精品扒开腿做爽爽爽软件| 婷婷成人基地| 久久精品国产福利| 亚洲欧美网站在线观看| 91精品xxx在线观看| 欧美亚洲综合视频|