缓存控制头和浏览器缓存IIS7

5
我正在使用IIS7上的Google Page Speed来优化我的网站,并想知道如何进行以下设置: 利用浏览器缓存 - 下列资源缺少缓存过期设置
利用代理服务器缓存 - 考虑为下列资源添加“Cache-Control: public”头部
我在我的web.config中使用doDynamicCompression,但不太清楚如何进行这些设置。希望能得到一些帮助。
注:参考文献为http://www.iis.net/ConfigReference/system.webServer/httpCompression
2个回答

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无法设置“位置”属性。 将其设置为“任何”将设置Cache-Control:public。

您可以在此处阅读更多相关信息。


1

我想你已经明白了,但请在IIS 这里阅读有关设置内容过期的信息。

请注意,这仅适用于IIS提供的静态内容。如果您要为动态内容(ASPX、PHP、ISAPI等)设置缓存标头,则需要在应用程序中生成自己的到期日和缓存控制标头。 IIS不会尝试将缓存控制标头应用于可能包括Set-Cookie标头或私有数据的动态页面(这是非常正确的)。 ASP和ASP.net默认为所有页面设置“Cache-Control:private”,但您可以按每个响应覆盖该行为。


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