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