IIS缓存和HTTP缓存

3

什么是两者之间的区别?

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

and

<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个回答

1
Pragma头是特定于实现的,次要的是Cache-Control头(参见http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32)。最好不要使用它。
将缓存设置为“private”可防止代理服务器缓存,您可能希望将其设置为“public”以获得更快的客户端响应 - 如果您的内容通过HTTP而不是HTTPS提供,则特别建议进行此更改(在这种情况下,“public”将被忽略,除非SSL在公司防火墙内被破解)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接