Caching IIS缓存和HTTP缓存

Caching IIS缓存和HTTP缓存,caching,iis,Caching,Iis,两者之间有什么区别 <caching enabled="true" enableKernelCache="true"> <profiles> <add extension="*" location="Any" policy="CacheForTimePeriod" duration="00:30:00" varyByQueryString="*" varyByHeaders="Accept-Language" kernelCachePolicy="Cac

两者之间有什么区别

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


如果我理解的很好,第一个是IIS(服务器上的缓存文件,以便快速回答),第二个是代理/客户端(每30分钟询问一个新版本)


你觉得我的缓存策略怎么样?我想提高性能,但因为我每30分钟有一次重要的新信息,所以我将每个缓存设置为30分钟…

Pragma头是特定于实现的,是缓存控制头的次要部分(请参阅)。最好不要用它

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

<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>