首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >IIS7缓存控制

IIS7缓存控制
EN

Stack Overflow用户
提问于 2009-03-13 14:27:04
回答 3查看 112.4K关注 0票数 99

我正在尝试做一些我认为会相当简单的事情。让IIS 7告诉客户端,他们可以在一定时间内缓存我网站上的所有图像,比如24小时。

我已经在http://www.galcho.com/Blog/post/2008/02/27/IIS7-How-to-set-cache-control-for-static-content.aspx上尝试了这个步骤,但没有效果。我仍然收到发送到服务器的请求,返回304。

有谁有办法做到这一点吗?我有一个图形密集型站点,我的用户每次请求页面时都会受到攻击(我的服务器也是如此)。奇怪的是,这些图片似乎在Firebug中显示了"Cache-Control private,max-age=3600“,但当我按下F5时,浏览器仍然在请求它们。

EN

回答 3

Stack Overflow用户

发布于 2009-10-14 13:08:18

不是这样的,杰夫。

您只需在IIS 7 Manager UI中选择一个文件夹(例如图像或事件),然后单击"HTTP Response Headers“。然后你必须点击“设置公共标题..”在右窗格中,选择“使Web内容过期”。在这里,您可以通过选择"After:",在文本框中输入" 24“,然后在组合框中选择”Hour“,轻松配置24小时的最大使用时间。

您关于web.config条目的第一段是正确的。我会添加cacheControlCustom-attribute来将缓存控制标头设置为"public“或在这种情况下需要的任何值。

当然,您也可以根据需要提供web.config条目(或文件)来实现相同的目的。

编辑:删除了一个令人困惑的句子:)

票数 116
EN

Stack Overflow用户

发布于 2011-03-23 18:34:04

我用这个

<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="500.00:00:00" />
</staticContent>

使用公共cache-control头缓存静态内容500天。

票数 28
EN

Stack Overflow用户

发布于 2016-02-25 09:35:00

有一个简单的方法: 1.使用网站的web.config 2.在"staticContent“部分删除特定的fileExtension并添加mimeMap 3.添加"clientCache”

<configuration>
  <system.webServer>
    <urlCompression doStaticCompression="true" doDynamicCompression="true" />
    <staticContent>
      <remove fileExtension=".ipa" />
      <remove fileExtension=".apk" />
      <mimeMap fileExtension=".ipa" mimeType="application/iphone" />
      <mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" />
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="777.00:00:00" />
    </staticContent>
  </system.webServer>
</configuration>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/642954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档