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