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