为什么谷歌Chrome网络中的http请求之间存在差距?

时间:2016-06-28 12:00:13

标签: performance google-chrome google-chrome-devtools

在我的应用程序加载页面时,许多资源从缓存加载。但是在2个请求之间我得到了一些延迟,如下图所示: enter image description here

有人可以告诉我为什么我在这两个请求之间得到这个延迟(~300ms)。

1 个答案:

答案 0 :(得分:1)

差距是排队或停滞的时间。这可以在下面的示例中进行演示,该示例显示了四个请求,最后两个请求主要关注我们:

requests

第3次请求: 3rd request

第4次请求: 4th request

正如您所见,第4个请求中有一个额外的排队时间以及更多停顿。以下是Paul Irish撰写的对此的解释:

<强>队列:

  

如果请求排队,则表明:

     
      
  • 请求被呈现引擎推迟,因为它被认为比关键资源(例如脚本/样式)的优先级低。这通常发生在图像上。

  •   
  • 请求被暂停,等待即将释放的TCP套接字不可用。

  •   
  • 请求被暂停,因为浏览器在HTTP 1上每个源只允许六个TCP连接。

  •   
  • 制作磁盘缓存条目所花费的时间(通常很快。)

  •   

<强>失速/阻塞:

  

请求在发送之前等待的时间。有可能   等待排队描述的任何原因。另外,   这一次包括在代理协商中花费的任何时间。

来源: Understanding Resource Timing