高速缓存控制标头和浏览器缓存 IIS7

发布于 2024-08-03 20:15:31 字数 428 浏览 2 评论 0原文

我在 IIS7 中的网站上使用 Google Page Speed,我想知道如何设置

利用浏览器缓存 - 以下资源缺少缓存过期
利用代理缓存 - 考虑向以下资源添加“Cache-Control: public”标头。

我在 web.config 中使用 doDynamicCompression,但对如何设置这些内容有点困惑?希望获得一些帮助

注意:正在使用的参考 http://www.iis.net/ConfigReference/ system.webServer/http压缩

I am using Google Page Speed on my website in IIS7 and I was wondering how to set

Leverage browser caching - The following resources are missing a cache expiration
Leverage proxy caching - Consider adding a "Cache-Control: public" header to the following resources.

I am using doDynamicCompression in my web.config and little confused how to set these ? Hoping for some help

Note: Reference being used http://www.iis.net/ConfigReference/system.webServer/httpCompression

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜味拾荒者 2024-08-10 20:15:31

例如,在 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 不会设置“位置”属性。将其设置为“Any”将设置 Cache-Control:public。

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

Under system.webServer in web.config set for example

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

This can also be configured from IIS Manager under Output Caching but what the GUI doesn't do is set the 'location' attribute. Setting it to 'Any' will set Cache-Control:public.

You can read more about it here.

绻影浮沉 2024-08-10 20:15:31

我想您已经弄清楚了这一点,但请阅读有关在 IIS 中设置内容过期的信息 此处

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

I imagine you already figured this out, but read up on setting content expiration in IIS here.

Note that this only applies to static content served by IIS. If you are looking to set caching headers for dynamic content (ASPX, PHP, ISAPI, whatever), you need to generate your own Expires and Cache-Control headers in your application. IIS will (quite correctly) not attempt to apply cache-control headers to dynamic pages that may include Set-Cookie headers or private data. ASP and ASP.net automatically set "Cache-Control: private" by default for all pages, but you can override that behavior on a per-response basis.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文