之间有什么区别
<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分钟......
答案 0 :(得分:1)
Pragma标头是特定于实现的,并且是Cache-Control标头的辅助标头(请参阅http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32)。最好不要使用它。
将缓存设置为“私有”会阻止代理缓存,您可能希望将其设置为“公共”以加快客户端响应速度 - 如果您的内容是通过HTTP而不是HTTPS(“公共”)提供,则特别建议进行此更改在这种情况下会被忽略,除非SSL在例如公司防火墙内被破解。)