【问题标题】:Why does chrome devtools show more than 6 simultaneous ajax requests?为什么 chrome devtools 会同时显示 6 个以上的 ajax 请求?
【发布时间】:2013-06-27 06:17:50
【问题描述】:

根据to this 和十几个不同的地方,chrome 和大多数浏览器将同时 http 请求限制为每个域六个。

那么我在这里看到了什么?

这不是 18 个同时的 ajax 请求吗?

以下是计时细节的示例:

第一个请求:

第八个请求:

我查看过的所有请求都反映了类似的情况。

发生了什么事?!

【问题讨论】:

  • 鉴于链接中的信息,您是否检查过请求是否为 HTTP/1.0?
  • 或者如果你查看计时详情选项卡,后面的请求是否会花费一些时间处于阻塞状态?
  • (点击一个请求的名字,然后点击“Headers”或者“Timing”标签来检查这些东西)
  • @RussellZahniser 正如您在我的编辑中看到的那样,Timing 没有显示任何阻塞或排队(它只是反映了第一个图表中的内容)。但是,我注意到,如果我将鼠标悬停在时序图上的任何一个条形上,它会显示端到端的总数明显大于各个部分的总和。
  • 这是一个fiddle 测试。对于我在 Mac 上的 Chrome 上的我来说,它完全符合您的期望(六个请求立即发送,其余的都是阻塞的)。如果没有看到您的代码,我无法知道您的情况为何不同。

标签: http google-chrome-devtools


【解决方案1】:

时间线上的请求栏在请求入队时开始,而不是在发送时开始。如果您检查 timing 以查找后来的请求之一(通过单击名称,然后单击“计时”选项卡),您可能会看到它在发送之前已经阻塞了一段时间。

code

Here is a fiddle 证明了这一点。请求以六个为一组发送:

...后面的请求在发送前会显示阻塞时间:

【讨论】:

  • 查看我的编辑。据我所知,大多数请求都花费了几毫秒的发送时间、数百个等待时间和几毫秒的接收时间——就像您期望的常规非排队 http 请求一样。
  • 奇怪的是我仍然没有得到那个阻塞栏,但是当我将鼠标悬停在时序图中的完整栏上时,我得到了相似的数字。
猜你喜欢
  • 2021-08-05
  • 2018-05-04
  • 2017-10-04
  • 1970-01-01
  • 1970-01-01
  • 2020-08-20
  • 2020-12-31
  • 1970-01-01
  • 2021-02-03
相关资源
最近更新 更多