使用查询字符串从URL缓存

时间:2009-05-11 21:31:18

标签: internet-explorer url caching query-string

我正在处理的网络应用程序提供的图像包含/image?name=a.gif等网址。页面加载速度缓慢,部分原因是浏览器没有缓存图像。

是否有任何http标头组合可以说服IE缓存图像,即使URL中有查询字符串?我试图避免浏览器发出任何不必要的请求(包括if-modified-since type requests)

我很满意只适用于IE(6+)的解决方案。另外,我知道我可以通过URL重写来避免这个问题 - 我只是对更好地理解浏览器缓存感兴趣。

由于

2 个答案:

答案 0 :(得分:9)

人们普遍认为,许多旧的浏览器(包括IE6)和一些旧版本的缓存(如Squid)都不会缓存任何附加了查询字符串的文件,无论过期日期如何。

查询字符串版本控制的更强大的替代方法是将版本信息放入路径中,例如:

site/static/23212903/css/bundle.css

或者:

site/images/logo.r23212903.png

更多信息,请参阅Sergey Chernyshev正确设置缓存标题的great article

答案 1 :(得分:4)

将您的网络服务器中的expires header设置为某个遥远的日期。