浏览器从服务器检索到的文件应尽可能长时间存储在浏览器的caching中,以帮助最大限度地减less服务器往返次数。
但是IIS如何知道什么是静态内容 ,什么不是?
它只是图像,CSS,JS, 而不是 ASPX,ashx …?
我在哪里可以看到什么已经被认为是静态的 ,什么不是 ?
那么用<%@ OutputCache头部(没有location )声明页面的情况怎么样? 它的图像,CSS,JS SRC文件里面,也被输出caching?
作为一个最好的办法,我应该设置一个未来的最大到期时间。我应该使用它作为网站上所有静态内容的默认值
所以我这样做了:

但后来,按OK ,我找不到任何汇总菜单显示我: 谁已经把我的响应头(在这种情况下: css文件夹)。
目前 ,为了看到css文件夹已经应用了respose头文件 – 我必须再次进入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 Feb 2013 00:00:00 GMT" /> </staticContent> </system.webServer> </location> </configuration>
按Windows + R并粘贴:
notepad %systemroot%\System32\inetsrv\config\applicationHost.config
这将调出IIS的主要configuration文件:
您在IIS界面中所做的大部分更改都不会保存到web.config中。
最后是一个“处理程序”节点,它定义了如何处理各种文件types,所有没有在path属性中列出的扩展都被认为是静态文件,并由最后一个条目处理:'name ='StaticFile''
您对caching的更改将在“网站”或“位置”节点内进一步提升。
不要直接修改这个文件,这要归功于UAC,否则你将无法修改。
如何select你的caching策略取决于你的内容。 你真的可以肯定某些资源不会改变一年吗?
OutputCache指令是针对页面本身的,任何链接的内容都是由客户端独立请求的,所以你也必须为它们设置caching。