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