在浏览器中点击刷新时缓存控制不起作用

时间:2016-10-20 10:25:14

标签: http tomcat caching http-headers cache-control

我试图在我的应用程序上实现缓存控制。我为所有字体设置了tomcat过滤器,给出max-age = 120。

当我第一次请求清除缓存的字体时,调用/响应如下:

first

正如您所见,我有最大年龄响应。现在我希望如果我点击刷新浏览器再也不会发送http请求,而是会发生这种情况:

second

如您所见,第二个请求有

cache-control: max-age=0

值,并从服务器缓存返回响应。我想要实现的是阻止来自浏览器的整个呼叫。

我做错了吗?

由于

1 个答案:

答案 0 :(得分:4)

点击刷新具有依赖于您正在使用的浏览器的语义,但通常它会发出条件请求以确保用户看到新的响应(因为他们想要刷新)。

如果要检查缓存操作,请尝试导航到该页面,而不是点击刷新。

OTOH如果你不想让刷新表现得像这样 - 你真的是这个意思 - Mozilla正在制作Cache-Control: immutable原型来做这件事(但是它早期和动员 - 只是暂时的。)