任何人都知道是否有办法禁用tomcat etag缓存(开发中)或其使用的任何机制?
它在ios浏览器中效果不佳。
当我更改文件时,我会刷新iPhone Safari浏览器,但不会更新任何内容。我可以做二十次,结果仍然相同。
然而,当我在台式计算机上刷新我的chrome 浏览器时,它会像往常一样刷新。我可以然后去野生动物园浏览器刷新并瞧瞧它,它会刷新。
它让我相信它每次都与服务器通信,(我也可以在日志中看到)但是tomcat和jetty可能响应使用本地缓存,因为它认为什么都没有改变。
哪个不是真的。我不确定为什么tomcat会以不同的方式威胁Chrome和IOS,但似乎这样做。或者IOS不尊重标题上的缓存失效:
response.setDateHeader( "Expires" , 0 );
response.setDateHeader( "Last-Modified", new Date().getTime() );
response.setHeader ( "Pragma" , "no-cache" );
response.setHeader ( "Cache-Control", "max-age=0, post-check=0, pre-check=0, no-store, no-cache, must-revalidate" );
但这对Tomcat或Jetty都不起作用。
答案 0 :(得分:0)
有点候,Java再次受到指责。
我正在从URL提供我的内容,我发现它默认会缓存它们。
要防止缓存,您需要知道设置
url.openConnection().setUseCaches(false);
这让我们想知道,这可能会重演哪些其他课程。
非常聪明的Java,为我做缓存。就像我需要的那样,我自己也无法解决这个问题。