网站响应时间:`加载`和`完成`之间的区别

38

我需要检查一个网页的响应时间,所以我用Chrome浏览器访问该网站,打开Devtools并切换到Network选项卡来检查响应时间:

图片描述

如图所示,有两个时间:第一个是Finish,第二个是Load

我认为Finish是加载整个页面和所有资源(包括延迟)所需的时间,但Load是什么呢?我曾认为如果将这些时间相加,就可以得到Load的时间,但事实并非如此。

那么,这个网站的响应时间是Load还是Finish

3个回答

46

Chrome Devtools中的“Finish”时间包括页面上异步加载(非阻塞)的对象/元素,这些对象/元素可能会在页面的onLoad事件触发后继续下载。

网站的响应时间通常指“Load”时间,因为这是用户可以感知到的,此时用户可以看到浏览器已经完成加载并准备好在屏幕上显示页面。

“Finish”时间虽然也是一个响应时间,但没有那么多的终端用户影响。

在某些情况下,“Finish”计时器似乎永远不会停止而持续增加,因此它可能不是对网页响应时间的最佳评估。


8
说结束时间"并没有多少最终用户的影响"并不完全正确。例如,页面可能已经加载了所有元素,但由于正在等待请求返回数据,因此显示旋转图标。从技术上来说,页面已经“加载”完成了,但对于用户而言,它并没有“完成”,显然也无法使用。 - totsubo
如果浏览器和各种端点之间的请求来回飞行,页面还没有完成,那么你在技术上是正确的。当前的网页设计坚定地属于这一类别;总是有未完成的请求和页面不断交换数据。'页面加载'已经失去了意义。 - madballoonist

0
从技术上讲,加载时间和完成时间的区别在于,加载时间会加载页面上所需的所有元素,而完成时间则会尝试访问所有需要的ajax调用(在同一页上动态加载内容)。将完成时间视为响应时间并不好。要计算响应时间,我们需要考虑加载时间,因为我目前正在处理页面加载问题本身。

-4

DevTools在网络面板的多个位置显示DOMContentLoaded和load事件的时间。DOMContentLoaded事件为蓝色,而load事件为红色。

https://istack.dev59.com/unni3.webp


他没有问关于DomContentLoaded,而是问了Finish,你还没有回答。 - Tobias Feil
提供的信息与所要求的不符。 - Sandeep Chikhale

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