我使用OpenLaszlo用DHTML编写了一个应用程序。该应用程序在Chrome中运行良好,但在Firefox中存在问题。javascript客户端向Struts2中间层发出HTTPPOST请求,该中间层通过Hibernate查询数据库,然后返回XML响应。该应用程序正在生产中,因此客户端代码、中间层和数据库都托管在我的台式机上。
我可以在Chrome和Firefox中并行运行应用程序,虽然Chrome中一切都很好,但HTTP的一些请求(每次都是相同的请求)将在Firefox上失败。失败的请求在POST请求启动后立即执行,没有HTTP响应或错误代码(我使用Firebug来查看POST请求和响应)。
在观看Wireshark的流量后,我确定,出于某种原因,Firefox在发出POST请求并从服务器接收标准确认字符后立即(不到一秒)发送FIN确认字符数据包。
流量看起来像这样:
在Chrome:客户端发送POST-
在Firefox中:客户端发送POST-
我想知道是否有人以前目睹过这种行为,并且可能知道我能做些什么来解决它。
我也遇到了这个问题。Firefox发送FIN,确认字符与其新的网络更改功能相关。参见:https://hg.mozilla.org/mozilla-central/rev/0a066b7ffa46
我在stackoverflow也有一个帖子:当火狐38发送FIN,确认字符后服务器ack超文本传输协议从火狐得到?
对于任何对此感兴趣的人,请跟踪:bugzilla.mozilla.org/show_bug.cgi?id=1245059解决方法是将"network.http.network更改. timeout"设置得更大。查看我们报告的火狐bug以获取更多详细信息。