輸入url到得到html的過程

加載資源的形式

  • 輸入url(跳轉(zhuǎn)頁面) 加載html
  • 加載html的靜態(tài)資源
  1. 瀏覽器根據(jù)DNS服務(wù)器得到域名的ip地址
  2. 向這個ip的機器發(fā)送http/https請求
  3. 服務(wù)器收到處理返回http請求
  4. 瀏覽器得到返回的內(nèi)容

瀏覽器渲染頁面的過程

  1. 根據(jù)html結(jié)構(gòu)生成Dom樹
  2. 根據(jù)css生成cssom
  3. 將Dom和cssom整合形成Render樹
  4. 根據(jù)render樹開始渲染和展示
  5. 遇到<script>時會執(zhí)行并阻塞渲染

windows.onload

頁面全部資源加載完才會執(zhí)行,包括圖片、視頻

DOMContentLoaded

dom渲染完加載執(zhí)行,不管其他資源

性能優(yōu)化

原則:

  • 多使用內(nèi)存、緩存或者其他方法
  • 減少cpu計算,較少的網(wǎng)絡(luò)請求

前端性能優(yōu)化著手點

  • 加載頁面和靜態(tài)資源
  1. 靜態(tài)資源的壓縮合并
  2. 靜態(tài)資源的緩存
  3. 使用cdn讓資源加載更快
  4. 使用ssr服務(wù)器端渲染,數(shù)據(jù)直接輸出到html中
  • 頁面渲染
  1. css放在前面,js放后面
  2. 懶加載(圖片懶加載,下拉加載更多)
  3. 減少dom查詢,對dom查詢做緩存
  4. 減少dom操作,多個操縱盡量合并在一起執(zhí)行
  5. 事件節(jié)流
  6. 盡早執(zhí)行操作如DOMContentLoaded
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 解析URL 輸入URL后,會進行解析(URL的本質(zhì)就是統(tǒng)一資源定位符) URL一般包括幾大部分: protocol...
    小超人的前端之路閱讀 775評論 0 1
  • 原文鏈接:https://segmentfault.com/a/1190000019897234 從輸入URL加載...
    R_X閱讀 813評論 0 0
  • 發(fā)送 & 接收信息 數(shù)據(jù)是以“數(shù)據(jù)包”的形式通過互聯(lián)網(wǎng)發(fā)送,而數(shù)據(jù)包以字節(jié)為單位。當(dāng)你編寫一些 HTML、CSS ...
    IT界中小PQ閱讀 411評論 0 0
  • 發(fā)送 & 接收信息 數(shù)據(jù)是以“數(shù)據(jù)包”的形式通過互聯(lián)網(wǎng)發(fā)送,而數(shù)據(jù)包以字節(jié)為單位。當(dāng)你編寫一些 HTML、CSS ...
    mongofeng閱讀 941評論 0 0
  • 大家都知道萬維網(wǎng)的應(yīng)用層使用了HTTP協(xié)議,并且用瀏覽器作為入口訪問網(wǎng)絡(luò)上的資源。用戶在使用瀏覽器訪問一個網(wǎng)站時需...
    SylvanasSun閱讀 2,162評論 1 12