【问题标题】:GWT Internet Explorer Caching AJAX ResponsesGWT Internet Explorer 缓存 AJAX 响应
【发布时间】:2013-06-24 01:30:22
【问题描述】:
我有一些客户端-服务器交互,GWT 正在更新网页并使其看起来动态。这适用于 Chrome 和 Firefox,但是,IE (8,9,10) 正在缓存响应。我可以说它的缓存是因为我使用 httpwatch 来查看交换。
http://i.imgur.com/qi6mP4n.png
如您所见,这些响应正在被缓存,如何阻止 IE 像 Chrome 和 Firefox 那样积极缓存?
【问题讨论】:
标签:
java
internet-explorer
google-chrome
firefox
gwt
【解决方案1】:
允许浏览器缓存 a) 任何带有 b) 相同 url 的 GET 请求,除非 c) 服务器另有规定。根据这三个标准,您有三个选择:
- 停止使用 GET,改用 POST。这对于您的用例或服务器可能没有意义,但如果您的问题没有任何进一步的上下文,很难更具体
- 每次请求资源时更改 url。这种“缓存清除”策略通常用于加载相同的文件,无需担心它是否在服务器上发生更改,而是始终获取新副本
- 从服务器指定头文件是否应该被缓存,如果是,多长时间。
如果您正在处理<module>.nocache.js 和<hash>.cache.html 文件,通常应该通过过滤器在它们上设置一个标头(如cmets 中的how to clear cache in gwt? 链接中所述)。 *.cache.* 文件应保留,因为它们的名称会自动更改(参见上面的第 2 条),而 *.nocache.* 应每次重新加载,因为它们的内容可能已更改。