|
昨天晚上在追查一個問題的時候,在firebug中看到這個頭“Vary”,以為遇到的問題和這個有關,就G/B了一下,發(fā)現能夠說清楚的比較少,看了很多篇文章之后,我的解釋如下,希望對看到的童鞋有幫助吧:
Vary的格式如下: C代碼
要么是“*”,要么是header的key名稱組合
vary的意義在于告訴代理服務器/緩存/CDN,如何判斷請求是否一樣,vary中的組合就是服務器/緩存/CDN判斷的依據,比如Vary中有User-Agent,那么即使相同的請求,如果用戶使用IE打開了一個頁面,再用Firefox打開這個頁面的時候,CDN/代理會認為是不同的頁面,如果Vary中沒有User-Agent,那么CDN/代理會認為是相同的頁面,直接給用戶返回緩存的頁面,而不會再去web服務器請求相應的頁面。
以上便是我的理解,如有不正確的地方,請大家指正,如果搜http vary的中文頁面,很多都是在講vary對緩存的傷害有多大,但是沒有人講原因,搜http vary的英文頁面,基本都是vary本身的解釋(rfc),希望這篇文章給G/B后仍不知所云的童鞋一些幫助吧。
rfc:http://www./Protocols/rfc2616/rfc2616-sec14.html |
|
|
來自: corefashion > 《http》