免费A级毛片无码A_99久久国产综合精品SWAG_亚洲国产天堂久久综合_夜夜爽一区二区三区精品 欧美日韩无套内射另类_婷婷五月俺也去人妻_日产精品久久久久久久性色_天堂大香蕉在线视频

六、HTTP協(xié)議中的緩存

2019-10-17    seo達人

一、緩存簡介

緩存無處不在,瀏覽器端的緩存、服務器端的緩存、代理服務器的緩存、對象緩存、數(shù)據(jù)庫也有緩存……HTTP中具有緩存功能的是瀏覽器緩存和代理服務器緩存。下面說一下緩存的優(yōu)點:



1.減少冗余的數(shù)據(jù)傳輸,節(jié)省了傳輸時間



2.減少服務器的負擔,大大提高了網(wǎng)站的性能



3.加快了客戶端加載網(wǎng)頁的速度



二、使用Fiddler如何查看緩存的Header

與緩存相關的內(nèi)容放在Header中的Cache項里;Requests和Responses均是這樣。如圖:







三、緩存的新鮮度(通過什么方式判斷其是否,如何刷新緩存)

Web服務器通過兩種方式判斷瀏覽器緩存是否:



(1)瀏覽器把緩存文件的最后修改時間通過Header“If-Modified-Since”項傳遞給Web服務器。



(2)瀏覽器把緩存文件的ETag通過Header“If-None-Match”項傳遞給Web服務器。



簡單描述一下,瀏覽器端想請求一個文檔,它首先檢查本地緩存,發(fā)現(xiàn)存在這個文檔的緩存,獲取緩存文檔的最后修改時間,發(fā)送請求,將值放在Header中的“If-Modified-Since”項傳遞給Web服務器。Web服務器接收到請求后,將服務器的文檔修改時間(Last-Modified)與HTTP請求中的header中的“If-Modified-Since”值相比較,有兩種情況,如下面圖示:



1.緩存有效:







2.緩存無效:







截圖舉例:







上面說的是If-Modified-Since值對比的方式;下面說一下ETa'g;



四、ETag

ETag(Entity Tag):實體標簽;是根據(jù)實體內(nèi)容生成的一段hash字符串(類似MD5之后的結(jié)果),可以用來標識資源的狀態(tài)(當資源發(fā)送變化時,ETag也會跟著改變);ETag是Web服務端產(chǎn)生的,然后通過response響應給瀏覽器。使用ETag,主要解決Last-Modified無法解決的情況:



(1.某些服務器不能得到文件的If-Modified-Since來判斷文件是否更新;



(2.某些文件修改非常頻繁,以小于秒的單元進行修改,而Last-Modified最單元為秒;



(3.有些文件最后修改時間變化了,但是內(nèi)容并沒有變化,所以我們不希望瀏覽器以為文件已變化了;







五、與緩存相關的header

字段名稱 釋義

Cache-Control:max-age=0 以秒為單位

If-Modified-Since:Fri, 11 Jan 2019 01:55:04 GMT 緩存文件的最后修改時間

If-None-Match:W/"5c37f778-732" 緩存文件的Etag的值

Cache-Control:no-cache 不使用緩存

Pragma:no-cache 不使用緩存

Cache-Control:public 響應被緩存,可以共享與多用戶

Cache-Control:private 響應只能私有緩存,不可共享

Cache-Control:no-store 絕對禁止緩存(機密、敏感文件)

Cache-Control:max-age=60 60秒后緩存過期(相對時間)

Date:Fri, 11 Jan 2019 01:55:04 GMT 當前發(fā)送時間

Expires:Fri, 11 Jan 2019 01:55:04 GMT 緩存過期時間設置(絕對時間)

Last-Modified:Fri, 11 Jan 2019 01:55:04 GMT 服務器端文件的最后修改時間

Etag:W/"5c37f778-732" 服務器端文件的Etag值

六、關于緩存的常識

1.如何讓瀏覽器不使用緩存?



答:【Ctrl+F5】快捷鍵強制刷新瀏覽器,讓瀏覽器不使用緩存;此時Fiddler抓包所看到的請求Header中都會帶有Cache-Control:no-cache;







2.如何讓瀏覽器直接使用緩存,不請求服務器進行緩存驗證?



答:第一次訪問與第二次訪問同一個網(wǎng)頁;(注意:第二次訪問時,輸入網(wǎng)址,直接回車)瀏覽器會直接使用有效的緩存,而不會發(fā)生HTTP請求去服務器驗證緩存,這種情況稱之為緩存命中;



使用Fiddler抓包,現(xiàn)象:第一次訪問,有70多個Session;第二次訪問,僅40多個請求;



3.瀏覽器均可在設置中設置不使用緩存;



4.公有緩存、私有緩存的區(qū)別:一個可以多個不同的客戶端使用,一個只可唯一的客戶端使用;


藍藍設計www.xy78.cn )是一家專注而深入的界面設計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網(wǎng)站建設 平面設計服務。

日歷

鏈接

個人資料

藍藍設計的小編 http://www.xy78.cn

存檔