我在IIS7的网站上使用Google Page Speed,我想知道如何设置
利用浏览器缓存 - 以下资源缺少缓存到期 利用代理缓存 - 考虑向以下资源添加“Cache-Control:public”标头。
我在web.config中使用doDynamicCompression并且很难弄清楚如何设置这些?希望得到一些帮助
注意:正在使用引用http://www.iis.net/ConfigReference/system.webServer/httpCompression
答案 0 :(得分:20)
在web.config中的system.webServer下设置例如
<caching>
<profiles>
<add extension=".png" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" location="Any" />
<add extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" location="Any" />
<add extension=".gif" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" location="Any" />
</profiles>
</caching>
这也可以在输出缓存下从IIS管理器配置,但GUI不做的是设置'location'属性。将其设置为“Any”将设置Cache-Control:public。
您可以详细了解here。
答案 1 :(得分:1)
我想你已经想到了这一点,但请阅读IIS here中设置内容过期的内容。
请注意,这仅适用于IIS提供的静态内容。如果您要为动态内容(ASPX,PHP,ISAPI等)设置缓存标头,则需要在应用程序中生成自己的Expires和Cache-Control标头。 IIS(非常正确)不会尝试将缓存控制头应用于可能包含Set-Cookie标头或私有数据的动态页面。默认情况下,ASP和ASP.net会自动为所有页面设置“Cache-Control:private”,但您可以基于每个响应覆盖该行为。