為什么要了解瀏覽器加載、解析、渲染這個(gè)過程?
了解瀏覽器如何進(jìn)行加載,我們可以在引用外部樣式文件,外部js時(shí),將他們放到合適的位置,使瀏覽器以最快的速度將文件加載完畢。
了解瀏覽器如何進(jìn)行解析,我們可以在構(gòu)建DOM結(jié)構(gòu),組織css選擇器時(shí),選擇最優(yōu)的寫法,提高瀏覽器的解析速率。
了解瀏覽器如何進(jìn)行渲染,明白渲染的過程,我們?cè)谠O(shè)置元素屬性,編寫js文件時(shí),可以減少”重繪“”重新布局“的消耗。
這三個(gè)過程在實(shí)際進(jìn)行的時(shí)候又不是完全獨(dú)立,而是會(huì)有交叉。會(huì)造成一邊加載,一邊解析,一邊渲染的工作現(xiàn)象。
瀏覽器是如何進(jìn)行加載、解析、渲染的呢?
1.用戶訪問網(wǎng)頁,DNS服務(wù)器(域名解析系統(tǒng))會(huì)根據(jù)用戶提供的域名查找對(duì)應(yīng)的IP地址,找到后,系統(tǒng)會(huì)向?qū)?yīng)IP地址的網(wǎng)絡(luò)服務(wù)器發(fā)送一個(gè)http請(qǐng)求。
2.網(wǎng)絡(luò)服務(wù)器解析請(qǐng)求,并發(fā)送請(qǐng)求給數(shù)據(jù)庫(kù)服務(wù)器。