3

我正在使用带有 Restlet的 AppEngine 将我的数据作为客户端提供给浏览器中的 GWT 应用程序。Restlet-GWT 版本使用 GWT-RPC 序列化作为底层传输格式。GWT-RPC 序列化依赖于客户端和服务器之间的共享源来序列化/反序列化。

现在,在向其中一个共享源类添加新属性后,反序列化开始失败。AppEngine 服务器使用响应 HTTP 200 / OK 正确处理了请求,并发送了一个正确序列化的对象。客户每次都噎住。

过了一会儿,我发现浏览器正试图反序列化我的对象的缓存副本(没有新添加的属性),因此浏览器中的反序列化失败了。

现在的问题是:如果服务器被击中,为什么浏览器要使用缓存副本?

IMO,这违背了缓存的目的/优势,正在消耗服务器和网络资源并且没有使用新的结果?如果浏览器决定使用缓存副本,我预计不会往返服务器。

谢谢 !

4

1 回答 1

1

您的浏览器将 GWT 为您的应用程序编译的 javascript 保存在缓存中。

简单的解决方案,对页面进行几次硬刷新(ctrl + F5,或 cmd + shift + R)。

如果您想防止这种情况,请参阅此问题

于 2012-06-13T13:44:42.703 回答