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