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

kiw*_*342 1 tomcat caching http cache-control http-headers

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

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

第一的

正如你所看到的,我有 max-age 响应。现在我希望如果我点击刷新浏览器不会再次发送 http 请求,而是会发生以下情况:

第二

如您所见,第二个请求有一个

cache-control: max-age=0

value 并且响应从服务器缓存返回。我想要实现的是阻止来自浏览器的整个调用。

难道我做错了什么?

谢谢

Mar*_*ham 5

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

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

OTOH,如果你不想让刷新表现得像这样——你真的是认真的——Mozilla 正在开发原型Cache-Control: immutable来做到这一点(但现在还处于早期阶段,目前仅限于暴徒)。