Chrome F12,監控一個請求的響應時間,一般參考下圖:
那么問題來了,Finish 和 Load有什么區別?
---DOMContentLoaded 和 Load
DOMContentLoaded:DOM樹構建完成。即HTML頁面由上向下解析HTML結構到末尾封閉標簽</html>
Load:頁面加載完畢。 DOM樹構建完成后,繼續加載html/css 中的圖片資源等外部資源,加載完成后視為頁面加載完畢。
DOMContentLoaded
會比 Load
時間小,兩者時間差大致等於外部資源加載的時間。
---Finish
Finish: 是頁面上所有 http 請求發送到響應完成的時間,HTTP1.0/1.1 協議限定,單個域名的請求並發量是 6 個,即 Finish 是所有請求(不只是XHR請求,還包括DOC,img,js,css等資源的請求)在並發量為6的限制下完成的時間。
Finish
的時間比 Load
大,意味着頁面有相當部分的請求量,
Finish
的時間比 Load
小,意味着頁面請求量很少,如果頁面是只有一個 html文檔請求的靜態頁面,Finish
時間基本就等於HTML文檔請求的時間。
頁面發送請求和頁面解析文檔結構,分屬兩個不同的線程,
所以 Finish
時間與DOMContentLoaded
和 Load
並無直接關系。
參考:https://segmentfault.com/q/1010000011840948?sort=created