gpt4 book ai didi

javascript - 试图弄清楚为什么 Firefox 会发送未经请求的 FIN ACK 数据包

转载 作者:可可西里 更新时间:2023-11-01 02:43:54 26 4
gpt4 key购买 nike

我使用 OpenLaszlo 用 DHTML 编写了一个应用程序。该应用程序在 Chrome 中运行良好,但在 Firefox 中出现问题。 javascript 客户端向 Struts2 中间层发出 HTTP POST 请求,中间层通过 Hibernate 查询数据库,然后返回 XML 响应。该应用程序正在生产中,因此客户端代码、中间层和数据库都托管在我的台式机上。

我可以在 Chrome 和 Firefox 中并排运行该应用程序,虽然在 Chrome 中一切正常,但一些 HTTP 请求(每次都是相同的请求)在 Firefox 上会失败。失败者会在发起 POST 请求后立即这样做,没有给出 HTTP 响应或错误代码(我正在使用 Firebug 来观察 POST 请求和响应)。

在使用 Wireshark 观察流量后,我确定出于某种原因,Firefox 在发出 POST 请求并从服务器接收到标准 ACK 后立即(不到一秒)发送 FIN ACK 数据包。

网络流量如下所示:

在 Chrome 中:客户端发送 POST -> 服务器发送 ACK -> 服务器发送 XML 数据 -> 客户端发送 ACK -> 服务器发送 HTTP/XML 200 响应 -> 客户端发送 ACK

在 Firefox 中:客户端发送 POST -> 服务器发送 ACK -> 客户端发送 FIN、ACK -> 服务器发送 ACK -> 服务器发送 XML 数据 -> 客户端发送重置

我想知道以前是否有人目睹过这种行为,并且可能知道我可以做些什么来解决它。

最佳答案

我也遇到了这个问题。 Firefox 发送与其新的网络更改功能相关的 FIN、ACK。参见:https://hg.mozilla.org/mozilla-central/rev/0a066b7ffa46

我们花了很多时间来检查这个。我在 stackoverflow 上也有一个帖子:when firefox 38 sent FIN,ACK after server ack an http get from firefox?

任何对此感兴趣的人,请跟踪:bugzilla.mozilla.org/show_bug.cgi?id=1245059 解决方法是将“network.http.network-changed.timeout”设置得更大。检查我们报告的 firefox 错误更多细节。

关于javascript - 试图弄清楚为什么 Firefox 会发送未经请求的 FIN ACK 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11381405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com