IIS7 Web.Config 缓存 - 这里有什么区别,它们是如何结合在一起的?

发布于 2024-10-15 02:56:27 字数 1309 浏览 1 评论 0原文

在 IIS7 中,我能够设置缓存选项。这些选项被添加到我的 web.config 中...

    <caching maxCacheSize="262144">
        <profiles>
            <add extension=".png" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
            <add extension=".jpeg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
            <add extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
            <add extension=".css" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
            <add extension=".js" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
        </profiles>
    </caching>

但是,我还获得了以下“缓存”选项,

    <staticContent>
        <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="90.00:00:00" />
        <remove fileExtension=".js" />
        <mimeMap fileExtension=".js" mimeType="text/javascript" />
    </staticContent>

这两个配置之间有什么区别?它们都嵌套在 标记中,因此它们都对 IIS7 有效。

另外,使用这些时正确的方法是什么?我目前只使用我的静态资产文件夹。我不会在其他任何事情上使用此缓存。

提前致谢。

In IIS7 I've got the ability to set caching options. These options are added to my web.config as such...

    <caching maxCacheSize="262144">
        <profiles>
            <add extension=".png" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
            <add extension=".jpeg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
            <add extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
            <add extension=".css" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
            <add extension=".js" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
        </profiles>
    </caching>

However, I've also got the following for "caching"

    <staticContent>
        <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="90.00:00:00" />
        <remove fileExtension=".js" />
        <mimeMap fileExtension=".js" mimeType="text/javascript" />
    </staticContent>

What are the differences between these two configs? They are both nested in the <system.webServer> tag, so they're both valid for IIS7.

Also, what is the right approach when using these? I currently only use this is my static assets folder. I don't use this caching on anything else.

Thanks in advance.

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

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

发布评论

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

评论(2

单身狗的梦 2024-10-22 02:56:27

主要区别在于,

  • 第一个用于服务器端缓存动态输出,例如 aspx 页面(基本上将页面输出保留在内存中以供后续请求)。正如 @artem-vertiy 的回答所指出的,将其用于静态内容没有任何意义。

  • 第二个是“互联网端”:它是通过编写标准响应头来实现的,它告诉客户端浏览器和公共代理如何管理缓存文件。

The main difference is that

  • the first is for server-side caching of dynamic output such as aspx pages (basically keeps the page output in memory for subsequent requests). As @artem-vertiy's answer points out, using it for static content makes no sense.

  • the second one is 'internet-side' : it is implemented by writing standard response headers, it tells both client browsers and public proxies how to manage cached files.

末蓝 2024-10-22 02:56:27

我注意到人们经常混淆上面的内容,并撰写文章来推荐第一块中的内容,即静态资源的输出缓存

输出缓存

静态文件(例如 HTML、JPG)不需要输出缓存,或者
GIF 文件,并且可能会导致动态 ASP.NET 或
从经常更改的数据库读取的 PHP 页面

因此

<add extension=".png" ../>
<add extension=".jpeg" ../>
etc.

至少当您没有 .png 或 .jpeg 等的 ashx http 处理程序时是无用的。

I've noticed that people often confuse the things above and write articles where recommend things as in the first block, i.e. output caching for static resources

Output caching:

Output caching is unnecessary for static files, such as HTML, JPG, or
GIF files, and can cause more memory overhead for dynamic ASP.NET or
PHP pages that read from a database that changes frequently

Thus

<add extension=".png" ../>
<add extension=".jpeg" ../>
etc.

is useless at least when you don't have ashx http handler for .png or .jpeg etc.

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