任何人都知道是否有办法禁用tomcat etag缓存(开发中)或它正在使用的任何机制?
它在ios浏览器中的效果不佳。
当我更改文件时,我刷新iPhone Safari浏览器,但没有任何更新。我可以做二十次,结果仍然相同。
但是,当我在台式计算机上刷新我的chrome浏览器时,它会像往常一样刷新。然后我可以去safari浏览器刷新并瞧瞧它,它会刷新。
它让我相信它每次都与服务器通信,(我也可以在日志中看到)但是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。