2014-01-30 166 views
3

什麼IIS緩存和HTTP緩存

<caching enabled="true" enableKernelCache="true"> 
    <profiles> 
    <add extension="*" location="Any" policy="CacheForTimePeriod" duration="00:30:00" varyByQueryString="*" varyByHeaders="Accept-Language" kernelCachePolicy="CacheUntilChange" /> 
    </profiles> 
</caching> 

<httpProtocol> 
    <customHeaders> 
    <add name="Cache-Control" value="private, max-age=1800, must-revalidate" /> 
    <add name="Pragma" value="private, max-age=1800, must-revalidate" /> 
    <add name="Expires" value="1800" /> 
    </customHeaders> 
</httpProtocol> 

如果我沒有理解好之間的區別,首先是對IIS(在服務器上緩存文件,迅速回答)和第二一個是代理/客戶端(每30分鐘詢問一個新版本)?

您對我的緩存策略有何看法?我想提高性能,但是因爲每30分鐘我都有重要的新鮮信息,所以我將每個高速緩存設置爲30分鐘...

回答

1

Pragma標頭是特定於實現的,並且是Cache-Control標頭的輔助(請參閱http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32)。最好不要使用它。

將緩存設置爲「private」可防止對代理進行緩存,您可能希望將其設置爲「公開」以加快客戶端響應速度 - 如果您的內容通過HTTP而非HTTPS(「public 「在這種情況下被忽略,除非SSL在企業防火牆內部被破解)。