在开发中禁用Tomcat / Jetty ETag或缓存,而不是在IOS上工作

问题描述 投票:0回答:1

任何人都知道是否有办法禁用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。

ios tomcat java-ee safari jetty
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.