計算機網絡之輸入網址到網頁呈現(xiàn)

1.輸入網址到出現(xiàn)網頁過程發(fā)生了什么

? 1.URL解析 (找ip給tcp/ip協(xié)議工作)

? ? ? ? 1.本地解析:確定用什么協(xié)議和解析哪個域名

? ? ? ? 2.瀏覽器本地緩存中查找對應ip

? ? ? ? 3.本地host文件查找

? ? ? ? 4.路由器dns查找

? ? ? ? 5.dns服務器查找

? 2.tcp/ip三次握手與服務器進行通信

? ? ? ? 1.三次握手

? ? ? ? 2.瀏覽器打包http信息發(fā)送

? ? ? ? 3.服務器返回

? ? ? ? 4.四次握手結束連接

? 3.頁面渲染

? ? ? ? 1.html解析dom樹:可能被css和js資源堵塞,包含script標簽和注釋

? ? ? ? 2.css解析css規(guī)則樹:與html解析同進行,與script執(zhí)行互斥

? ? ? ? 3.html和css合成渲染樹:繪制樹,只有在網頁上有位置的元素才會在渲染樹中

? ? ? ? ?Display:none不在

? ? ? ? 4.按照渲染樹計算位置,繪制網頁

2.瀏覽器渲染網頁詳情:

? ? ?1.樣式堵塞html解析,堵塞腳本執(zhí)行但不堵塞腳本加載,除非加async屬性,DOM樹創(chuàng)建完成后DOMContentLoaded事件即觸發(fā),這時候可以用過script來操作DOM節(jié)點。

? ? 2.瀏覽器在cssom構建完成之前不會渲染任何已處理內容

? ? 3.css解析和script執(zhí)行互斥

? ? 4.回流:某部分變化影響了全局,頁面重新計算渲染

? ? ? ? 減少回流:transform做形變和位移,讓元素脫離1文檔流

? ? 4.重繪:幾何尺寸和位置沒有變化,如顏色,背景色

? ? 5.優(yōu)化方法:

? ? ? ? ? 1.樣式在前,腳本在后

? ? ? ? ? 2.css選擇器嵌套減少到最小

? ? ? ? ? 3.減少js進行dom操作

? ? ? ? ? 4.用transform做形變位移

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容