當面試官問一個問題時我們要有一個概念,不是所有瀏覽器都叫主流瀏覽器,主流瀏覽器要有兩個要求,
- 市場所佔份額
- 必須要有獨立研發的內核(這纔是重點)
瀏覽器是有兩部分組成的:
- shell
- 內核
shell:shell也是最不值錢的部分,上面的文件、修改導航欄、二維碼都是,又叫外殼,操作類的展示頁面。
內核:瀏覽器運行得快與慢,識別代碼的路徑包括優化問題。內核也包括兩部分。
渲染引擎:它負責取得網頁的內容(HTML、XML、圖像等等)、整理訊息(例如加入 CSS 等),以及計算網頁的顯示方式,然後會輸出至顯示器或打印機。瀏覽器的內核的不同對於網頁的語法解釋會有不同,所以渲染的效果也不相同。
JS 引擎:則是解析 Javascript 語言,執行 javascript語言來實現網頁的動態效果。
最開始渲染引擎和 JS 引擎並沒有區分的很明確,後來 JS 引擎越來越獨立,內核就傾向於只指渲染引擎。有一個網頁標準計劃小組製作了一個 ACID 來測試引擎的兼容性和性能。