1 用戶輸入url地址,DNS(域名解析系統(tǒng))服務(wù)器根據(jù)輸入的域名查找對(duì)應(yīng) IP
2 瀏覽器向該IP地址服務(wù)器發(fā)送http請(qǐng)求,如果服務(wù)器段返回以301之類的重定向,瀏覽器根據(jù)相應(yīng)頭中的location再次發(fā)送請(qǐng)求
3 瀏覽器加載 HTML 文件及文件內(nèi)包含的外部引用文件(CSS、JS)及圖片,多媒體等資源。
4 據(jù)請(qǐng)求回來的 HTML 文件,渲染引擎開始從上到下解析HTML文檔,首先將標(biāo)簽轉(zhuǎn)換成DOM樹中的DOM節(jié)點(diǎn)(包括js生成的標(biāo)簽),也叫內(nèi)容樹(Content Tree/DOM Tree),此時(shí)解析過程中碰見了外部引用的 CSS 文件,去服務(wù)器請(qǐng)求回 CSS 文件,構(gòu)建 CSSOM (CSS Object Model)樹,加載解析樣式生成 CSSOM 樹。CSSOM 的解析過程與 DOM 的解析過程是并行的。
5 此時(shí)繼續(xù)解析 HTML,又碰見了外部引用的 JS 文件,去服務(wù)器請(qǐng)求回 JS 文件,加載并執(zhí)行 JS 代碼(包括內(nèi)聯(lián)代碼或外聯(lián) JS 文件)
6 此時(shí)在解析 HTML 過程中發(fā)現(xiàn)一個(gè)標(biāo)簽內(nèi)引用了一張關(guān)聯(lián)圖片,去服務(wù)器請(qǐng)求回這張圖片,瀏覽器解析器不會(huì)等待圖片下載完,而是繼續(xù)渲染后面的代碼。
7 此時(shí) HTML 代碼和 CSS 代碼已經(jīng)形成 DOM 樹和 CSSOM 樹,并生成渲染樹(render tree),渲染樹按順序展示在屏幕上的一系列矩形,這些矩形帶有字體,顏色和尺寸等視覺屬性。
8 布局(layout):從根節(jié)點(diǎn)遞歸調(diào)用,計(jì)算每一個(gè)元素的大小、位置等,給出每個(gè)節(jié)點(diǎn)所應(yīng)該在屏幕上出現(xiàn)的精確坐標(biāo);
9 繪制(painting):遍歷渲染樹繪制所有節(jié)點(diǎn),為每一個(gè)節(jié)點(diǎn)適用對(duì)應(yīng)的樣式,這一過程是通過 UI 后端模塊完成。
瀏覽器的渲染過程
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 大家都知道萬維網(wǎng)的應(yīng)用層使用了HTTP協(xié)議,并且用瀏覽器作為入口訪問網(wǎng)絡(luò)上的資源。用戶在使用瀏覽器訪問一個(gè)網(wǎng)站時(shí)需...
- 本文涉及到:瀏覽器對(duì)用戶呈現(xiàn)出一個(gè)頁(yè)面的過程 , DNS/CDN緩存及關(guān)系,強(qiáng)制緩存,協(xié)商緩存,重排和重繪等要點(diǎn)。...
- 前言 移動(dòng)互聯(lián)網(wǎng)時(shí)代,用戶對(duì)于網(wǎng)頁(yè)的打開速度要求越來越高。百度用戶體驗(yàn)部研究表明,頁(yè)面放棄率和頁(yè)面的打開時(shí)間關(guān)系如...
- 大家好,我是李俊輝!如果您覺得文章有用,請(qǐng)幫忙點(diǎn)個(gè)贊或關(guān)注,也為我鼓勵(lì)一下,堅(jiān)持寫下去! 本文是轉(zhuǎn)載,是目前為止看...