一、瀏覽器內(nèi)核是什么意思
瀏覽器內(nèi)核是指瀏覽器最核心的部分,負責對網(wǎng)頁語法的解釋(如標準通用標記語言下的一個應用HTML、JavaScript)并渲染(顯示)網(wǎng)頁。
瀏覽器分為兩部分,shell 內(nèi)核,Shell是指瀏覽器的外殼:例如菜單,工具欄等,主要是提供給用戶界面操作、參數(shù)設(shè)置等,它是調(diào)用內(nèi)核來實現(xiàn)各種功能的;內(nèi)核則是瀏覽器的核心,是基于標記語言顯示內(nèi)容的程序或模塊的。
通常所謂的瀏覽器內(nèi)核,就是瀏覽器所采用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網(wǎng)頁的內(nèi)容以及頁面的格式信息。不同的瀏覽器內(nèi)核對網(wǎng)頁編寫語法的解釋也有不同,因此同一網(wǎng)頁在不同的內(nèi)核的瀏覽器里的渲染(顯示)效果也可能不同。
二、瀏覽器內(nèi)核有幾種類型
瀏覽器的內(nèi)核不止有一種,有以下五種類型:
1、Trident內(nèi)核
Trident(又叫MSHTML)是一款開放的內(nèi)核,由于其引擎被設(shè)計成一個軟件模塊,所以其他的軟件開發(fā)人員就能夠在他們開發(fā)的應用程序中加入網(wǎng)頁的瀏覽功能。Trident內(nèi)核接口已經(jīng)很成熟了,但它無法在windows操作系統(tǒng)之外的其他操作系統(tǒng)上使用,所以不能跨平臺使用。
2、Gecko內(nèi)核
ecko的特點是代碼完全公開,因此,其可開發(fā)程度很高,全世界的程序員都可以為其編寫代碼,增加功能。因為這是個開源內(nèi)核,因此受到許多人的青睞,Gecko內(nèi)核的瀏覽器也很多,這也是Gecko內(nèi)核雖然年輕但市場占有率能夠迅速提高的重要原因。
3、Presto內(nèi)核
這款瀏覽器內(nèi)核的特點就是渲染速度的優(yōu)化達到了極致,它實際上這是一個動態(tài)內(nèi)核,與前面幾個內(nèi)核的最大的區(qū)別就在腳本處理上,Presto有著天生的優(yōu)勢,頁面的全部或者部分都能夠在回應腳本事件時等情況下被重新解析;然而代價是犧牲了網(wǎng)頁的兼容性,現(xiàn)已停止開發(fā)并廢棄。
4、Webkit內(nèi)核
Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是從KDE的KHTML及KJS引擎衍生而來,它們都是自由軟件,在GPL條約下授權(quán),同時支持BSD系統(tǒng)的開發(fā)。所以Webkit也是自由軟件,同時開放源代碼。
5、Blink內(nèi)核
Blink渲染引擎是2013年推出的,是多處理架構(gòu)系統(tǒng),新內(nèi)核會提升整個開源網(wǎng)絡(luò)生態(tài)系統(tǒng)的機能。
三、瀏覽器內(nèi)核的技術(shù)分支有幾種
瀏覽器內(nèi)核的技術(shù)分支主要有三種:排版渲染引擎、JavaScript引擎以及其他:
1、排版渲染引擎
排版渲染引擎的功能主要負責取得網(wǎng)頁的內(nèi)容(HTML、XML、圖像等)、整理信息,以及計算網(wǎng)頁的顯示方式,然后輸出至顯示器。所有的網(wǎng)頁瀏覽器、電子郵件客戶端以及其他需要編輯、顯示網(wǎng)絡(luò)內(nèi)容的應用程序都需要排版渲染引擎,特別是排版渲染引擎決定了瀏覽器如何顯示網(wǎng)頁的內(nèi)容以及頁面的格式信息。
2、JavaScript引擎
JavaScript引擎是用來渲染JavaScript的,JavaScript的渲染速度越快,動態(tài)網(wǎng)頁的展示也越快,因此這一技術(shù)分支下發(fā)展的瀏覽器內(nèi)核主要重視的是瀏覽器的使用速度和用戶的使用體驗。
3、其他
其他類型的技術(shù)分支主要是一些小眾的技術(shù)。