使用JavaScript覆盖客户端的缓存控制头?

时间:2013-09-03 18:41:59

标签: javascript caching browser-cache cache-control

客户端是否可以使用JavaScript覆盖和/或忽略动态加载内容的HTTP Cache-Control标头(例如,异步加载的图像)?

我的基于JavaScript的GIS应用程序从外部服务器动态请求图像,该服务器发送以下标头及其响应:

Cache-Control:max-age=0,must-revalidate

这会导致浏览器发送相同图像的重复请求(以及If-None-Match请求标头),这些请求总是会产生HTTP 304 Not Modified响应,因此无论如何都会使用缓存,但只能在延迟之后使用。 / p>

我已经知道图像没有改变,但我对服务器发送的缓存控制头没有任何控制权,所以我想在显示图像时强制使用本地浏览器缓存而不必首先用服务器重新验证。

是否可以在客户端更改此内容?

1 个答案:

答案 0 :(得分:0)

您应该可以通过执行location.reload(true)not all browsers behave properly来覆盖javascript中的本地缓存 - 使用框架重新填充非HTML内容