在Firefox开发者工具中,“Net”面板下加载的资源会按照不同的颜色/类别分割它们的加载时间,这些类别包括: DNS查询 连接 阻塞 发送 等待 接收 这些类别分别代表什么意思?更具体地说,是否有任何一种可以准确地表示服务器在思考(访问数据库、运行算法等)的时间?谢谢。
很抱歉,您不能准确地确定服务器正在做什么。除了等待之外,您可以放弃大部分操作,因为其他操作都在服务器处理请求之前和之后发生。而在等待期间它实际上在做什么将是一个“黑盒子”。在发送和接收过程中可能会发生一些异步操作,因此很难精确计算,但您可以获得服务器工作时间和请求来回旅行时间的大致时间。粗略定义如下:DNS查询:通过使用DNS服务器将网址转换为目标IP地址连接:与Web服务器建立连接屏蔽:以前称为“排队”,这在此处有更详细的解释发送:将HTTP请求发送到服务器等待:等待服务器响应 - 这可能是它正在进行所有工作的地方接收:从服务器获取HTTP响应
Firebug Wiki 也解释了以下内容(请参考时间轴部分): 阻塞时间:在浏览器队列中等待网络连接所花费的时间,包括SSL连接中的SSL握手和OCSP验证步骤。 DNS查询时间:DNS解析所需的时间。 连接时间:创建TCP连接所需的经过时间。 等待时间:等待服务器响应的时间。 接收时间:从服务器读取整个响应所需的时间(或者从缓存中读取所需的时间)。 'DOMContentLoaded'事件:当DOMContentLoaded事件被触发时所处的时间点(自请求开始以来的时间,如果请求在事件之后开始,则可能为负数)。 'load'事件:当页面加载事件被触发时所处的时间点(自请求开始以来的时间,如果请求在事件之后开始,则可能为负数)。