我想在IIS7中为我的ASP.NET网站中的静态内容缓存设置规则.
我已经看过这些文章,详细介绍了如何使用以下<clientCache />
元素web.config
:
但是,此设置似乎全局适用于所有静态内容.有没有办法只为某些目录或扩展这样做?
例如,我可能有两个需要单独缓存设置的目录:
/static/images
/content/pdfs
是否有可能建立规则发送缓存头(max-age
,expires
基于扩展和文件夹路径等)?
请注意,我必须能够这样做,web.config
因为我无法访问IIS控制台.
根据Ultra-Fast ASP.NET:第3章 - 缓存:
浏览器从服务器检索的文件应尽可能长时间地存储在浏览器的缓存中,以帮助最小化服务器往返.
但IIS如何知道静态内容实际上是什么而不是?
它只是图像,CSS,JS 而不是 ASPX,ashx ......?
我在哪里可以看到IIS已经被认为是静态的,什么不是静态的?
如何使用<%@ OutputCache
标题声明页面(没有location
)?是images
,CSS
和JS
它里面的源文件也被输出缓存具有相同属性的?
作为最佳实践,我应该将未来一年设置为最长到期时间.我应该将其用作网站上所有静态内容的默认值
所以我这样做了:
但是后来,在按下之后OK
,我找不到任何显示我的摘要菜单:我已经把响应标题放到了谁(在这种情况下:css
文件夹).
目前,为了看到该css
文件夹已应用响应标头 - 我必须再次转到该css
文件夹Http Response Header Set Common Headers 然后我看到它.它不是在web.config中编写的. -->
-->
-->
但是,如果我为一个文件(Login.aspx
例如)执行此操作:我确实在web.config中看到它:
<configuration>
<location path="Login.aspx">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseExpires" cacheControlMaxAge="1.00:00:00" httpExpires="Fri, 15 …
Run Code Online (Sandbox Code Playgroud)