performance
window.performance.timing
对象包含了完整的网页加载性能数据, 下面详细介绍如何通过对象各个属性获取页面加载期间各个阶段的性能
- 页面加载的第一个时间点是
navigationStart
, 表示上一个页面的unload
事件触发, 接下来的事件点是fetchStart
, 表示开始获取当前页面内容.fetchStart
时间点和navigationStart
时间点之间的时间差是浏览器内核为加载新页面做的一些准备工作耗时. - 获取页面内容的第一步是查询是否有跟页面相关的资源缓存, 查询完毕之后, 会触发开始DNS解析的时间点
domainLookupStart
.domainLookupStart
时间点和fetchStart
事件点之间的时间差是查询缓存所消耗的时间. - DNS解析结束的时间点是
domainLookupEnd
.domainLookupEnd
时间点和domainLookupStart
时间点之间的时间差是DNS解析消耗的时间 - DNS解析技术之后会开始建立TCP连接, TCP连接开始和结束的时间点分别是
connectStart
和connectEnd
.connectStart
时间点紧接着domainLookupEnd
时间点,connectEnd
时间点和connectStart
时间点之间的时间差是建立TCP消耗的时间. - TCP连接建立之后, 开始发送请求内容至服务器端, 这个时间点是