Chrome:POST/OPTIONS 请求因 net::ERR_TIMED_OUT 失败

Posted

技术标签:

【中文标题】Chrome:POST/OPTIONS 请求因 net::ERR_TIMED_OUT 失败【英文标题】:Chrome:POST/OPTIONS requests Fails with net::ERR_TIMED_OUT 【发布时间】:2015-07-23 06:26:00 【问题描述】:

OPTION/POST 请求失败,控制台错误为 err_timed_out。我们得到的问题不一致,它只是有时被观察到。否则,请求会从后端得到正确的响应。当它超时时,请求甚至没有到达服务器。

我对这些东西进行了一些研究,发现由于资源限制最多 6 个连接,它可能会等待释放连接。但是,我没有看到任何其他请求待处理,所有其他请求都已完成。

在时间线中,我总能看到它停滞了 20.00 秒。大多数时候时间是一样的。但是,它只表明它在时间轴上停滞了一段时间。

请求的状态显示失败的 ERR_Connection_Timed_Out。请帮忙。

网络时序

控制台错误

【问题讨论】:

请求的后端部分呢?你对此有控制权吗?您是否收到从不同机器调用相同请求的响应? @Yoann 问题不一致,否则我们会得到适当的响应。更新问题。 你的 promise 上有错误处理程序吗?我的意思是,如果没有处理程序捕获它们,除了 ok 之外没有任何其他操作会超时。 @mico 我们注册了一个失败处理程序,就像这里提到的那样。***.com/a/29917375/4260544 你的超时值是多少?答案中的值是 200 毫秒,对于测试后端来说可能太短了 【参考方案1】:

我在使用经过身份验证的代理服务器时发现了此问题,通常刷新页面即可解决此问题。

您是否正在使用经过身份验证的代理服务器来查看此行为?您是否尝试过可以直接访问(即没有代理)互联网的电脑?

【讨论】:

问题高度不一致。我们能否以某种方式调试发生的事情以确认它是由代理引起的。我们正在努力寻找根本原因。 如果您看到此文档 (developer.chrome.com/devtools/docs/…),“资源网络计时”部分对此进行了说明。停滞状态摘录:请求在发送之前等待的时间。该时间包括在代理协商中花费的任何时间。此外,此时间将包括浏览器等待已建立的连接可供重新使用的时间,遵守 Chrome 的每个源规则最多六个 TCP 连接。【参考方案2】:

当我选择另一个 ISP 时,我遇到了同样的问题。我以为我只需输入我的新 ID 和密码,但事实并非如此。 我有一个带干环的 ADSL 调制解调器。

所有其他服务都很好(DNS 解析、IP 电话、FTP 等)。 我做了很多测试(禁用防火墙,尝试其他一些导航器,在 Linux 下尝试,调制解调器默认工厂等)这些测试都没有成功。

为了解决问题ERR_TIMED_OUT,我不得不调整 MTU 和 MRU 值。我输入了1458 而不是1492,这是默认值。 这个对我有用。也许某些 ISP 使用不同的值。祝你好运。

【讨论】:

以上是关于Chrome:POST/OPTIONS 请求因 net::ERR_TIMED_OUT 失败的主要内容,如果未能解决你的问题,请参考以下文章

方向 API google - 方向请求因未找到而失败

为啥我的 CORS 请求因 http 401 错误而失败

RestKit 请求因 HTTP 错误而挂起

SOAP 请求因 MEX 绑定而失败

卷曲工作,但 python 请求因 SSLError 而失败

Django CORS 因来自移动应用程序的发布请求而失败