2016-10-20 52 views
0

我试图在我的应用程序上实现缓存控制。我为所有字体设置了tomcat过滤器,使max-age = 120。在浏览器中刷新刷新时缓存控制不起作用

当我请求在第一时间与清除高速缓存中的字体,呼叫/响应如下:

first

,正如你可以看到我有max-age的响应。现在,我希望如果我打刷新浏览器不会发送HTTP请求,而不是再次,这是发生了什么:

second

正如你所看到的第二个请求具有

cache-control: max-age=0

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

我做错了什么?

感谢

回答

3

击中刷新具有取决于你使用的浏览器的语义,但往往会作出条件请求,以确保用户正在观看一个新鲜响应(因为他们想刷新)。

如果您想检查缓存操作,请尝试导航到页面,而不是刷新。

OTOH如果你不想刷新的行为是这样的 - 你真的这么做 - Mozilla正在原型Cache-Control: immutable做到这一点(但它现在是早期的,而且只是暴徒)。

+0

你是对的。触发刷新使用重新验证过程。谢谢! – kiwi1342