1

我有一些客户端-服务器交互,GWT 正在更新网页并使其看起来动态。这适用于 Chrome 和 Firefox,但是,IE (8,9,10) 正在缓存响应。我可以说它的缓存是因为我使用 httpwatch 来查看交换。

http://i.imgur.com/qi6mP4n.png

如您所见,这些响应正在被缓存,如何阻止 IE 像 Chrome 和 Firefox 那样积极缓存?

4

1 回答 1

2

允许浏览器缓存 a) 具有 b) 相同 url 的任何 GET 请求,除非 c) 服务器另有规定。有了这三个标准,您有三个选择:

  • 停止使用 GET,并改用 POST。这对您的用例或服务器可能没有意义,但是如果您的问题没有任何进一步的上下文,很难更具体
  • 每次请求资源时更改 url。这种“缓存清除”策略通常用于让相同的文件被加载,而不必担心它是否在服务器上发生了变化,但总是得到一个新的副本
  • 指定服务器的标头是否应该缓存文件,如果是,缓存多长时间。

如果您正在处理<module>.nocache.jsand<hash>.cache.html文件,通常应该通过过滤器在它们上设置一个标头(如注释中的如何清除 gwt 中的缓存?链接中所述)。这些*.cache.*文件应该保留,因为它们的名称会自动更改(参见上面的第 2 条),而*.nocache.*每次都应该重新加载文件,因为它们的内容可能已经改变。

于 2013-06-27T22:14:58.487 回答