HTTP協議探索之Cache-Control


緩存的存與用的控制

 

Cache-Control指定了請求和響應遵循的緩存機制。好的緩存機制可以減少對網絡帶寬的占用,可以提高訪問速度,提高用戶的體驗,還可以減輕服務器的負擔。

 

Cache-Control主要有以下幾種類型:

(1) 請求Request:

[1] no-cache  ---- 不要讀取緩存中的文件,要求向WEB服務器重新請求

[2] no-store    ---- 請求和響應都禁止被緩存
[2] max-age: ---- 表示當訪問此網頁后的max-age秒內再次訪問不會去服務器請求,其功能與Expires類似,只是Expires是根據某個特定日期值做比較。一但緩存者自身的時間不准確.則結果可能就是錯誤的,而max-age,顯然無此問題.。Max-age的優先級也是高於Expires的。
[3] max-stale  ---- 允許讀取過期時間必須小於max-stale 值的緩存對象。 
[4] min-fresh ---- 接受其max-age生命期大於其當前時間 跟 min-fresh 值之和的緩存對象

[5] only-if-cached ---- 告知緩存者,我希望內容來自緩存,我並不關心被緩存響應,是否是新鮮的.

[6] no-transform   ---- 告知代理,不要更改媒體類型,比如jpg,被你改成png.

 

(2) 響應Response:

[1] public    ---- 數據內容皆被儲存起來,就連有密碼保護的網頁也儲存,安全性很低
[2] private    ---- 數據內容只能被儲存到私有的cache,僅對某個用戶有效,不能共享
[3] no-cache    ---- 可以緩存,但是只有在跟WEB服務器驗證了其有效后,才能返回給客戶端

[4] no-store  ---- 請求和響應都禁止被緩存

[4] max-age:   ----- 本響應包含的對象的過期時間
[5] Must-revalidate    ---- 如果緩存過期了,會再次和原來的服務器確定是否為最新數據,而不是和中間的proxy

[6] max-stale  ----  允許讀取過期時間必須小於max-stale 值的緩存對象。 

[7] proxy-revalidate  ---- 與Must-revalidate類似,區別在於:proxy-revalidate要排除掉用戶代理的緩存的。即其規則並不應用於用戶代理的本地緩存上。

[8] s-maxage  ---- 與max-age的唯一區別是,s-maxage僅僅應用於共享緩存.而不應用於用戶代理的本地緩存等針對單用戶的緩存. 另外,s-maxage的優先級要高於max-age.

[9] no-transform   ---- 告知代理,不要更改媒體類型,比如jpg,被你改成png.

 

http://blog.csdn.net/chen_zw/article/details/18924875


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM