我试图在我的应用程序上实现缓存控制。我为所有字体设置了tomcat过滤器,给出max-age = 120。
当我第一次请求清除缓存的字体时,调用/响应如下:
正如您所见,我有最大年龄响应。现在我希望如果我点击刷新浏览器再也不会发送http请求,而是会发生这种情况:
如您所见,第二个请求有
cache-control: max-age=0
值,并从服务器缓存返回响应。我想要实现的是阻止来自浏览器的整个呼叫。
我做错了吗?
由于
答案 0 :(得分:4)
点击刷新具有依赖于您正在使用的浏览器的语义,但通常它会发出条件请求以确保用户看到新的响应(因为他们想要刷新)。
如果要检查缓存操作,请尝试导航到该页面,而不是点击刷新。
OTOH如果你不想让刷新表现得像这样 - 你真的是这个意思 - Mozilla正在制作Cache-Control: immutable
原型来做这件事(但是它早期和动员 - 只是暂时的。)