這篇文章將為大家詳細(xì)講解有關(guān)瀏覽器緩存策略的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司主營巴宜網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),巴宜h5重慶小程序開發(fā)搭建,巴宜網(wǎng)站營銷推廣歡迎巴宜等地區(qū)企業(yè)咨詢為了提高站點(diǎn)的訪問速度,使用緩存來優(yōu)化。緩存主要分為 強(qiáng)緩存和協(xié)商緩存。
協(xié)商緩存
主要分為last-modified、etag。下面我主要通過代碼修改來表現(xiàn)各個緩存之間的區(qū)別。先討論協(xié)商緩存。last-modified表示文件的修改日期,如果文件做了修改那就應(yīng)該重新獲取文件。last-modified是文件修改后根據(jù)服務(wù)器的時間生成。
如果我們修改了文件則會重新獲取,status就為200
再次刷新就會返回304表示緩存已經(jīng)是最新不需要再更新。
請求中會詢問相關(guān)文件修改時間(If-Modified-Since)
請求
響應(yīng)
ETag:是一個可以與Web資源關(guān)聯(lián)的記號(token)
如果文件被替換,就會生成唯一的etag。
替換前的文件
替換后的文件
PS: 如果是使用了多臺服務(wù)器做負(fù)載均衡的話,會出現(xiàn)etag不一致問題。Apache 的默認(rèn)ETag的值總是由文件的索引節(jié)點(diǎn)(Inode)、大小(Size)、最后修改時間(MTime)決定,我們只需要去掉Inode即可
強(qiáng)緩存強(qiáng)緩存相比協(xié)商緩存更為徹底,在強(qiáng)緩存下瀏覽器不會對服務(wù)器發(fā)起請求。
強(qiáng)緩存:主要分為expires和cache-control
Expires:表示存在時間,允許客戶端在這個時間之前不去檢查(發(fā)請求),等同max-age的 效果。但是如果同時存在,則被Cache-Control的max-age覆蓋。 格式: Expires :時間,后面跟一個時間或者日期,超過這個時間后緩存失效。也就是瀏覽器發(fā)出請求之前,會檢查這個時間是否失效,若失效,則瀏覽器會重新發(fā)出請求。
開啟apache expires_mod之后,瀏覽器在第一次將資源請求之后會緩存。
Cache-Control
Cache-Control 在 HTTP 響應(yīng)頭中,用于指示代理和 UA 使用何種緩存策略。比如:
cache-control中設(shè)置max-age 為最長的緩存時間。在該時間內(nèi)則使用緩存。
設(shè)置為no-cache之后則不會再進(jìn)行緩存。
在使用apache對瀏覽器緩存進(jìn)行測試過程中發(fā)現(xiàn)。在不設(shè)置 cache-control的情況下,瀏覽器會根據(jù)自身的情況去取舍相關(guān)的緩存,可以從這查看。如果大家在服務(wù)器配置過程中發(fā)現(xiàn),自己沒有配置任何的緩存信息但是瀏覽器卻緩存了資源就不用驚訝。
關(guān)于瀏覽器緩存策略的示例分析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
分享文章:瀏覽器緩存策略的示例分析-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://m.rwnh.cn/article44/copihe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、ChatGPT、網(wǎng)頁設(shè)計公司、網(wǎng)站設(shè)計公司、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容