以下哪项更适合为asp.net mvc2应用程序设置静态内容(即js,css,Images)的缓存选项:
** - Web.config:**
<?xml version="1.0"?>
<configuration>
<system.webServer>
<!--Caching-->
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00"/>
</staticContent>
</system.webServer>
</configuration>
或者
<?xml version="1.0"?>
<configuration>
<system.webServer>
<!--Caching-->
<staticContent>
<clientCache cacheControlMode="UseExpires" httpExpires="Tue, 31 Dec 2030 12:00:00 GMT"/>
</staticContent>
</system.webServer>
</configuration>
简而言之,我想知道哪个选项:UseMaxAge,UseExpires更好。如果我使用HttpModules删除请求和响应头中的ETag,会对它产生什么影响。
有人可以帮助我了解有关上述问题的更多详情吗?
谢谢&amp;问候, Santosh Kumar Patro
答案 0 :(得分:2)
两者都不是更好,它们是不同的。
我认为浏览器不会缓存超过一年的内容,因此您可以看到您提供的指定365天的示例。
鉴于您的示例,我怀疑您正试图让客户端无限期地(或尽可能长时间)缓存内容,因此您可能希望使用:
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
这样,客户端会将内容缓存一年,或者由于其他原因(例如用户清除缓存或缓存达到限制)而将其从浏览器缓存中删除。