一、瀏覽器內核是什么意思
瀏覽(lan)器(qi)內核(he)是(shi)指瀏覽(lan)器(qi)最(zui)核(he)心的(de)部分,負責對(dui)網頁語(yu)法的(de)解釋(如標準通用標記語(yu)言下的(de)一個應用HTML、JavaScript)并渲染(顯示)網頁。
瀏(liu)覽器(qi)分為兩部(bu)分,shell+內(nei)(nei)核(he),Shell是(shi)指瀏(liu)覽器(qi)的外殼:例(li)如菜單(dan),工具欄等,主要是(shi)提供給用戶界面操作、參(can)數(shu)設(she)置等,它是(shi)調用內(nei)(nei)核(he)來實現各種功(gong)能的;內(nei)(nei)核(he)則是(shi)瀏(liu)覽器(qi)的核(he)心(xin),是(shi)基(ji)于(yu)標記(ji)語言(yan)顯示內(nei)(nei)容的程(cheng)序或模塊(kuai)的。
通常所謂的瀏覽器內核(he),就是瀏覽器所采用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網頁(ye)的內容(rong)以及頁(ye)面的格式信息(xi)。不(bu)同的瀏覽器內核(he)對網頁(ye)編寫(xie)語法的解(jie)釋也有(you)不(bu)同,因此同一(yi)網頁(ye)在(zai)不(bu)同的內核(he)的瀏覽器里的渲染(顯示)效(xiao)果也可能不(bu)同。
二、瀏覽器內核有幾種類型
瀏(liu)覽器的(de)內核不(bu)止有(you)一種,有(you)以下五種類型:
1、Trident內核
Trident(又叫MSHTML)是(shi)一款開放的(de)內核(he),由(you)于其引擎(qing)被設計成一個軟件(jian)模塊,所(suo)(suo)以(yi)其他的(de)軟件(jian)開發人員就能(neng)(neng)夠在他們開發的(de)應用(yong)(yong)程序中加入網頁的(de)瀏覽功能(neng)(neng)。Trident內核(he)接口已經很成熟(shu)了,但它無法在windows操作系統(tong)之外的(de)其他操作系統(tong)上使用(yong)(yong),所(suo)(suo)以(yi)不能(neng)(neng)跨(kua)平(ping)臺使用(yong)(yong)。
2、Gecko內核
ecko的(de)特點(dian)是代碼(ma)完全公開(kai),因此,其可開(kai)發程度很(hen)高(gao),全世界的(de)程序員都可以為其編寫代碼(ma),增加功能。因為這是個開(kai)源(yuan)內(nei)核(he),因此受(shou)到許(xu)多人的(de)青睞,Gecko內(nei)核(he)的(de)瀏(liu)覽器也(ye)很(hen)多,這也(ye)是Gecko內(nei)核(he)雖然(ran)年輕(qing)但市場占有率(lv)能夠迅速提高(gao)的(de)重(zhong)要(yao)原因。
3、Presto內核
這款瀏覽器(qi)內(nei)核的(de)(de)(de)特點(dian)就是渲染速度的(de)(de)(de)優化達到(dao)了(le)(le)極致,它實(shi)際(ji)上這是一(yi)個(ge)動(dong)態內(nei)核,與前面(mian)幾個(ge)內(nei)核的(de)(de)(de)最大(da)的(de)(de)(de)區別就在腳(jiao)本處理上,Presto有著天生(sheng)的(de)(de)(de)優勢,頁面(mian)的(de)(de)(de)全部(bu)(bu)或者部(bu)(bu)分都能夠在回應腳(jiao)本事件時等情(qing)況下被重新解析;然而代價(jia)是犧牲(sheng)了(le)(le)網頁的(de)(de)(de)兼容性,現已(yi)停止開發并廢棄。
4、Webkit內核
Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是從KDE的(de)KHTML及KJS引擎衍生而來,它們都是自由軟件(jian),在GPL條約下授(shou)權,同時支持BSD系統的(de)開(kai)發。所以Webkit也是自由軟件(jian),同時開(kai)放源代碼。
5、Blink內核
Blink渲(xuan)染引擎是2013年推出的,是多(duo)處理架構系(xi)統(tong),新內(nei)核會提升整個開源(yuan)網(wang)絡生(sheng)態系(xi)統(tong)的機能。
三、瀏覽器內核的技術分支有幾種
瀏覽器內(nei)核的技(ji)術(shu)分(fen)支主要有三種:排版渲染引擎、JavaScript引擎以及(ji)其他:
1、排版渲染引擎
排版渲染引擎的功能主要負責取得網頁的內容(HTML、XML、圖像等)、整理信息,以及計算網頁的顯示方式,然后輸出至顯示器。所有的網頁瀏覽器、電子郵件客戶(hu)端以及其他(ta)需要編輯(ji)、顯示網絡內容(rong)的(de)應(ying)用程序都需要排(pai)版(ban)渲(xuan)染(ran)引(yin)擎(qing),特別是排(pai)版(ban)渲(xuan)染(ran)引(yin)擎(qing)決定了瀏覽器(qi)如何顯示網頁的(de)內容(rong)以及頁面(mian)的(de)格(ge)式(shi)信息。
2、JavaScript引擎
JavaScript引(yin)擎是用來渲(xuan)(xuan)染(ran)JavaScript的(de),JavaScript的(de)渲(xuan)(xuan)染(ran)速度(du)(du)越快,動態網頁的(de)展示也越快,因此(ci)這一技術(shu)分支下發展的(de)瀏覽器(qi)內(nei)核主要重視(shi)的(de)是瀏覽器(qi)的(de)使用速度(du)(du)和用戶的(de)使用體驗。
3、其他
其(qi)他類型(xing)的(de)技術分支主要是一些小眾的(de)技術。