我正在使用 AppEngine with Restlet 将我的数据作为客户端提供给浏览器中的GWT应用。 Restlet-GWT版本使用GWT-RPC序列化作为下面的传输格式。 GWT-RPC序列化依赖于客户端和服务器之间的共享源来序列化/反序列化。
现在,在向其中一个共享源类添加新属性之后,反序列化开始失败。 AppEngine服务器使用响应HTTP 200 / OK正确处理了请求,并发送了一个正确序列化的对象。客户每次都会窒息。
过了一段时间,我发现浏览器试图反序列化我的对象的缓存副本(没有新添加的属性),因此浏览器中的反序列化失败。
现在的问题是:如果服务器被点击,为什么浏览器会使用缓存副本?
IMO,这会破坏缓存的目的/优势,服务器和网络资源正在消耗,新的结果没有被使用?如果浏览器决定使用缓存副本,我预计服务器不会往返。
thx!
答案 0 :(得分:1)
您的浏览器会保留GWT编译的javascript,以便您在缓存中使用该应用程序。
简单的解决方案,几次刷新页面(ctrl + F5,或cmd + shift + R)。
如果您想阻止这种情况,请参阅this question