【问题标题】:IIS caching and HTTP cachingIIS 缓存和 HTTP 缓存
【发布时间】:2014-01-30 13:40:31
【问题描述】:

有什么区别

<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 分钟...

【问题讨论】:

    标签: caching iis


    【解决方案1】:

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

    将缓存设置为“私有”可防止代理缓存,您可能希望将其设置为“公共”以获得更快的客户端响应 - 如果您的内容是通过 HTTP 而不是 HTTPS(“公共”在这种情况下会被忽略,除非 SSL 在例如公司防火墙内被破解)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 2017-12-16
      • 2010-09-12
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多