Http缓存:缓存控制

时间:2012-06-01 04:11:22

标签: asp.net asp.net-mvc http caching

我正在提供图像,标题设置为:

Cache-Control : max-age=600000

据我了解,现在应该将图像视为可以缓存的下一个600000秒。但是,我发现Chrome每次使用上次修改日期刷新页面时都会不断发出图像的条件请求:

If-Modified-Since: Thu, 19 Apr 2012 14:51:08 GMT

由于服务器上的图像没有变化,因此会发出304 Not Modified响应。

所以我的问题是如何阻止Chrome一起发出条件请求?当我指示可以在接下来的600000秒内缓存图像时,为什么每次都需要检查服务器?我希望它只能在600000秒后检查。

1 个答案:

答案 0 :(得分:5)

浏览器发出条件请求的原因是因为我手动刷新了浏览器。

当用户通过单击刷新按钮(正常刷新)手动刷新页面时,无论max-age如何,都会发出条件请求。

当用户按住Ctrl +单击刷新按钮(超级刷新)时,无论max-age如何,都会发出无条件请求。

在正常导航(点击链接)下,当max-age有效时,浏览器不会发出任何请求。