我正在尝试做一些我认为会相当简单的事情。让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时,浏览器仍然在请求它们。
发布于 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条目(或文件)来实现相同的目的。
编辑:删除了一个令人困惑的句子:)
发布于 2011-03-23 18:34:04
我用这个
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="500.00:00:00" />
</staticContent>
使用公共cache-control头缓存静态内容500天。
发布于 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>
https://stackoverflow.com/questions/642954
复制相似问题