IIS缓存和HTTP缓存

时间:2014-01-30 13:40:32

标签: caching iis

之间有什么区别
<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 个答案:

答案 0 :(得分:1)

Pragma标头是特定于实现的,并且是Cache-Control标头的辅助标头(请参阅http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32)。最好不要使用它。

将缓存设置为“私有”会阻止代理缓存,您可能希望将其设置为“公共”以加快客户端响应速度 - 如果您的内容是通过HTTP而不是HTTPS(“公共”)提供,则特别建议进行此更改在这种情况下会被忽略,除非SSL在例如公司防火墙内被破解。)