我正在开发一个Web项目(ASP.NET MVC 2,但这个问题无关紧要)我想调整性能。
设置clientCache设置以便缓存静态内容是有效的 完美的图像但是,Internet Explorer 8(或9)仍在执行GET(“if-modified-since”) 对于javascripts和css(所以304是由IIS响应的。)
我想避免IE为已经在缓存中的静态资源执行无用的GET。
我使用IE9开发工具和Fiddler的网络捕获工具验证了这一点。 Chrome正在按预期工作,从缓存中获取javascript / css。
我添加到web.config的设置是:
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="165.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
我怀疑问题的根源是我在IIS上为application / x-javascript MIME类型启用的动态压缩。 我保留了默认设置,因此没有缓存标头被发送到客户端以获取gzip压缩内容。