Firefox网络面板中的彩色条代表什么?

9
在Firefox开发者工具中,“Net”面板下加载的资源会按照不同的颜色/类别分割它们的加载时间,这些类别包括:
  • DNS查询
  • 连接
  • 阻塞
  • 发送
  • 等待
  • 接收
这些类别分别代表什么意思?更具体地说,是否有任何一种可以准确地表示服务器在思考(访问数据库、运行算法等)的时间?
谢谢。
3个回答

5
很抱歉,您不能准确地确定服务器正在做什么。除了等待之外,您可以放弃大部分操作,因为其他操作都在服务器处理请求之前和之后发生。而在等待期间它实际上在做什么将是一个“黑盒子”。
在发送和接收过程中可能会发生一些异步操作,因此很难精确计算,但您可以获得服务器工作时间和请求来回旅行时间的大致时间。
粗略定义如下:
DNS查询:通过使用DNS服务器将网址转换为目标IP地址
连接:与Web服务器建立连接
屏蔽:以前称为“排队”,这在此处有更详细的解释
发送:将HTTP请求发送到服务器
等待:等待服务器响应 - 这可能是它正在进行所有工作的地方
接收:从服务器获取HTTP响应

所以,“等待”尝试近似服务器在将第一批数据发送到浏览器之前思考的时间量? - Ken
“大致”是这里的关键词!当然,您可能不会等待它来完成_您的_工作,但您至少可以从方程式中消除发送和接收数据以及建立连接所花费的时间。 - Widor
也许它已经改变了,但现在新的Firefox开发工具使用DNS查找、连接、发送、等待、接收。可以说连接==阻塞,他们又再次更改了名称? - Owen

4

Firebug Wiki 也解释了以下内容(请参考时间轴部分):

  • 阻塞时间:在浏览器队列中等待网络连接所花费的时间,包括SSL连接中的SSL握手和OCSP验证步骤。
  • DNS查询时间:DNS解析所需的时间。
  • 连接时间:创建TCP连接所需的经过时间。
  • 等待时间:等待服务器响应的时间。
  • 接收时间:从服务器读取整个响应所需的时间(或者从缓存中读取所需的时间)。
  • 'DOMContentLoaded'事件:当DOMContentLoaded事件被触发时所处的时间点(自请求开始以来的时间,如果请求在事件之后开始,则可能为负数)。
  • 'load'事件:当页面加载事件被触发时所处的时间点(自请求开始以来的时间,如果请求在事件之后开始,则可能为负数)。

0

这里有一篇非常好的文章,其中包含时间图表和协议级别的解释,说明每个阶段正在发生的情况。我觉得它非常有帮助,因为他们还通过可视化展示了使用持久连接和并行连接与串行连接的影响。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接