瀏覽器組成部分及運行原理

一嫉髓、瀏覽器結(jié)構(gòu)

[圖片上傳失敗...(image-c86aca-1731466116879)]
1、用戶界面
除了瀏覽器請求的網(wǎng)頁之外邑闲,瀏覽器的操作面算行、按鈕等,都屬于瀏覽器的用戶界面苫耸。

2州邢、瀏覽器引擎
可以加載指定URL,比如瀏覽器的前進/后退/刷新/主頁等操作褪子。
看一查看會話各方面量淌,比如頁面加載進度/js console alert

3、渲染引擎
下面細說

4嫌褪、網(wǎng)絡
實現(xiàn)HTTP/FTP傳輸協(xié)議

5呀枢、JavaScript解釋器

6、XML解析器
將XML轉(zhuǎn)換成DOM樹笼痛。

7裙秋、顯示后端
顯示后端提供繪圖和窗口原語,包括:用戶界面控件集合缨伊、字體集合摘刑。

8、數(shù)據(jù)持久層
將瀏覽器回話相關(guān)聯(lián)的各種數(shù)據(jù)存儲在硬盤上倘核。比如泣侮,cookie,安全證書紧唱,緩存等活尊。

二隶校、渲染引擎的組成及功能

[圖片上傳失敗...(image-fc0c5-1731466116880)]
1、HTML解析器
2蛹锰、CSS解析器
3深胳、JavaScript解析器
4、布局
5铜犬、繪圖

1舞终、Parsing HTML to Construct DOM Tree
1.1 HTML解析器將HTML/XML文檔轉(zhuǎn)換成DOM節(jié)點,生成DOM 樹
1.2 CSS解析器解析樣式規(guī)則

2癣猾、Render Tree construction
將CSS附著到DOM 樹敛劝,生成渲染樹

3、Layout of Render Tree
為每個節(jié)點分配屏幕上出現(xiàn)的坐標

4纷宇、Painting Render Tree
渲染引擎遍歷渲染樹夸盟,繪制節(jié)點

三、為什么一般把script放在 body 尾部像捶, link 標簽放在 head 內(nèi)部上陕,而頁面通過CDN引入第三方框架或庫時,基本都是將其script標簽放在link標簽前面

1拓春、CSS加載不會阻塞DOM樹解析释簿,但會阻塞渲染樹的生成,從而阻塞頁面DOM結(jié)構(gòu)的渲染硼莽。
2庶溶、JS會阻塞DOM解析,以及渲染懂鸵。
3渐尿、CSS的加載緩慢會阻塞JS的加載和執(zhí)行。
4矾瑰、JS執(zhí)行會觸發(fā)頁面render。

所以
script放在頁面尾部隘擎,避免因為JS的加載緩慢阻塞整個頁面的加載(這部分JS的執(zhí)行可能改變DOM結(jié)構(gòu)殴穴,所以需要先渲染DOM樹,再執(zhí)行)货葬。
script標簽放在link標簽前面采幌,避免CSS加載影響外部調(diào)用的JS的執(zhí)行(這部分JS通常為外部調(diào)用的庫,不操作頁面DOM樹)震桶。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末休傍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蹲姐,更是在濱河造成了極大的恐慌磨取,老刑警劉巖人柿,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異忙厌,居然都是意外死亡凫岖,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門逢净,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哥放,“玉大人,你說我怎么就攤上這事爹土∩瘢” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵胀茵,是天一觀的道長社露。 經(jīng)常有香客問我,道長宰掉,這世上最難降的妖魔是什么呵哨? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮轨奄,結(jié)果婚禮上孟害,老公的妹妹穿的比我還像新娘。我一直安慰自己挪拟,他們只是感情好挨务,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著玉组,像睡著了一般谎柄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惯雳,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天朝巫,我揣著相機與錄音,去河邊找鬼石景。 笑死劈猿,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的潮孽。 我是一名探鬼主播揪荣,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼往史!你這毒婦竟也來了仗颈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤椎例,失蹤者是張志新(化名)和其女友劉穎挨决,沒想到半個月后请祖,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡凰棉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年损拢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撒犀。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡福压,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出或舞,到底是詐尸還是另有隱情荆姆,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布映凳,位于F島的核電站胆筒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏诈豌。R本人自食惡果不足惜仆救,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望矫渔。 院中可真熱鬧彤蔽,春花似錦、人聲如沸庙洼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽油够。三九已至蚁袭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間石咬,已是汗流浹背揩悄。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鬼悠,地道東北人虏束。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像厦章,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子照藻,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

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