瀏覽器最重要或者說(shuō)核心的部分是“Rendering Engine”,可大概譯為“解釋引擎”,不過(guò)我們一般習(xí)慣將之稱為“瀏覽器內(nèi)核”。負(fù)責(zé)對(duì)網(wǎng)頁(yè)語(yǔ)法的解釋(如HTML、JavaScript)并渲染(顯示)網(wǎng)頁(yè)。
所以,通常所謂的瀏覽器內(nèi)核也就是瀏覽器所采用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網(wǎng)頁(yè)的內(nèi)容以及頁(yè)面的格式信息。不同的瀏覽器內(nèi)核對(duì)網(wǎng)頁(yè)編寫(xiě)語(yǔ)法的解釋也有不同,因此同一網(wǎng)頁(yè)在不同的內(nèi)核的瀏覽器里的渲染(顯示)效果也可能不同,這也是網(wǎng)頁(yè)編寫(xiě)者需要在不同內(nèi)核的瀏覽器中測(cè)試網(wǎng)頁(yè)顯示效果的原因。
瀏覽器內(nèi)核很多,如果加上所有的幾乎沒(méi)有什么人在用的非商業(yè)的免費(fèi)內(nèi)核,那么可能大約有10款以上甚至更多,不過(guò)通常我們比較常見(jiàn)的大約只有以下四種,下面先簡(jiǎn)單介紹一下。
Trident Trident: IE瀏覽器使用的內(nèi)核,該內(nèi)核程序在1997年的IE4中首次被采用,是微軟在Mosaic代碼的基礎(chǔ)之上修改而來(lái)的,并沿用到目前的IE8。Trident實(shí)際上是一款開(kāi)放的內(nèi)核,其接口內(nèi)核設(shè)計(jì)的相當(dāng)成熟,因此才有許多采用IE內(nèi)核而非IE的瀏覽器涌現(xiàn)(如 Maxthon、The World 、TT、GreenBrowser、AvantBrowser等)。此外,為了方便也有很多人直接簡(jiǎn)稱其為IE內(nèi)核(當(dāng)然也不排除有部分人是因?yàn)椴恢纼?nèi)核名稱而只好如此說(shuō))。
由于IE本身的“壟斷性”(雖然名義上IE并非壟斷,但實(shí)際上,特別是從Windows 95年代一直到XP初期,就市場(chǎng)占有率來(lái)說(shuō)IE的確借助Windows的東風(fēng)處于“壟斷”的地位)而使得Trident內(nèi)核的長(zhǎng)期一家獨(dú)大,微軟很長(zhǎng)時(shí)間都并沒(méi)有更新Trident內(nèi)核,這導(dǎo)致了兩個(gè)后果——一是Trident內(nèi)核曾經(jīng)幾乎與W3C標(biāo)準(zhǔn)脫節(jié)(2005年),二是Trident內(nèi)核的大量 Bug等安全性問(wèn)題沒(méi)有得到及時(shí)解決,然后加上一些致力于開(kāi)源的開(kāi)發(fā)者和一些學(xué)者們公開(kāi)自己認(rèn)為IE瀏覽器不安全的觀點(diǎn),也有很多用戶轉(zhuǎn)向了其他瀏覽器,F(xiàn)irefox和Opera就是這個(gè)時(shí)候興起的。非Trident內(nèi)核瀏覽器的市場(chǎng)占有率大幅提高也致使許多網(wǎng)頁(yè)開(kāi)發(fā)人員開(kāi)始注意網(wǎng)頁(yè)標(biāo)準(zhǔn)和非IE瀏覽器的瀏覽效果問(wèn)題。
Gecko Gecko: Netscape6開(kāi)始采用的內(nèi)核,后來(lái)的Mozilla FireFox也采用了該內(nèi)核,Gecko的特點(diǎn)是代碼完全公開(kāi),因此,其可開(kāi)發(fā)程度很高,全世界的程序員都可以為其編寫(xiě)代碼,增加功能。因?yàn)檫@是個(gè)開(kāi)源內(nèi)核,因此受到許多人的青睞,Gecko內(nèi)核的瀏覽器也很多,這也是Geckos內(nèi)核雖然年輕但市場(chǎng)占有率能夠迅速提高的重要原因。
事實(shí)上,Gecko引擎的由來(lái)跟IE不無(wú)關(guān)系,前面說(shuō)過(guò)IE沒(méi)有使用W3C的標(biāo)準(zhǔn),這導(dǎo)致了微軟內(nèi)部一些開(kāi)發(fā)人員的不滿;他們與當(dāng)時(shí)已經(jīng)停止更新了的 Netscape的一些員工一起創(chuàng)辦了Mozilla,以當(dāng)時(shí)的Mosaic內(nèi)核為基礎(chǔ)重新編寫(xiě)內(nèi)核,于是開(kāi)發(fā)出了Geckos。不過(guò)事實(shí)上,Gecko 內(nèi)核的瀏覽器仍然還是Firefox用戶最多,所以有時(shí)也會(huì)被稱為Firefox內(nèi)核。此外Gecko也是一個(gè)跨平臺(tái)內(nèi)核,可以在Windows、 BSD、Linux和Mac OS X中使用。
Presto Presto: 目前Opera采用的內(nèi)核,該內(nèi)核在2003年的Opera7中首次被使用,該款引擎的特點(diǎn)就是渲染速度的優(yōu)化達(dá)到了極致,也是目前公認(rèn)網(wǎng)頁(yè)瀏覽速度最快的瀏覽器內(nèi)核,然而代價(jià)是犧牲了網(wǎng)頁(yè)的兼容性。
實(shí)際上這是一個(gè)動(dòng)態(tài)內(nèi)核,與前面幾個(gè)內(nèi)核的最大的區(qū)別就在腳本處理上,Presto有著天生的優(yōu)勢(shì),頁(yè)面的全部或者部分都能夠在回應(yīng)腳本事件時(shí)等情況下被重新解析。此外該內(nèi)核在執(zhí)行Javascrīpt的時(shí)候有著最快的速度,根據(jù)在同等條件下的測(cè)試,Presto內(nèi)核執(zhí)行同等Javascrīpt所需的時(shí)間僅有Trident和Gecko內(nèi)核的約1/3(Trident內(nèi)核最慢,不過(guò)兩者相差沒(méi)有多大)。那次測(cè)試的時(shí)候因?yàn)锳pple機(jī)的硬件條件和普通PC機(jī)不同所以沒(méi)有測(cè)試WebCore內(nèi)核。只可惜Presto是商業(yè)引擎,使用Presto的除開(kāi)Opera以外,只剩下NDSBrowser、Wii Internet Channle、Nokia 770網(wǎng)絡(luò)瀏覽器等,這很大程度上限制了Presto的發(fā)展。
Webkit Webkit:蘋(píng)果公司自己的內(nèi)核,也是蘋(píng)果的Safari瀏覽器使用的內(nèi)核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是從KDE的KHTML及KJS引擎衍生而來(lái),它們都是自由軟件,在GPL條約下授權(quán),同時(shí)支持BSD系統(tǒng)的開(kāi)發(fā)。所以Webkit也是自由軟件,同時(shí)開(kāi)放源代碼。在安全方面不受IE、Firefox的制約,所以Safari瀏覽器在國(guó)內(nèi)還是很安全的。
限于Mac OS X的使用不廣泛和Safari瀏覽器曾經(jīng)只是Mac OS X的專屬瀏覽器,這個(gè)內(nèi)核本身應(yīng)該說(shuō)市場(chǎng)范圍并不大;但似乎根據(jù)最新的瀏覽器調(diào)查表明,該瀏覽器的市場(chǎng)甚至已經(jīng)超過(guò)了Opera的Presto了——當(dāng)然這一方面得益于蘋(píng)果轉(zhuǎn)到x86架構(gòu)之后的人氣暴漲,另外也是因?yàn)镾afari 3終于推出了Windows版的緣故吧。Mac下還有OmniWeb、Shiira等人氣很高的瀏覽器。
google的chrome也使用webkit作為內(nèi)核。
WebKit 內(nèi)核在手機(jī)上的應(yīng)用也十分廣泛,例如 Google 的手機(jī) Gphone、 Apple 的 iPhone, Nokia’s Series 60 browser 等所使用的 Browser 內(nèi)核引擎,都是基于 WebKit。
2010年4月8日最新的搜狗瀏覽器也是采用了webkit內(nèi)核,號(hào)稱雙引擎內(nèi)核,呼聲很高,期待其發(fā)展。
KHTML: KHTML,是HTML網(wǎng)頁(yè)排版引擎之一,由KDE所開(kāi)發(fā)。
KDE系統(tǒng)自KDE2版起,在檔案及網(wǎng)頁(yè)瀏覽器使用了KHTML引擎。該引擎以C++編程語(yǔ)言所寫(xiě),并以LGPL授權(quán),支援大多數(shù)網(wǎng)頁(yè)瀏覽標(biāo)準(zhǔn)。由于微軟的Internet Explorer的占有率相當(dāng)高,不少以FrontPage制作的網(wǎng)頁(yè)均包含只有IE才能讀取的非標(biāo)準(zhǔn)語(yǔ)法,為了使KHTML引擎可呈現(xiàn)的網(wǎng)頁(yè)達(dá)到最多,部分IE專屬的語(yǔ)法也一并支援。
KHTML擁有速度快捷的優(yōu)點(diǎn),但對(duì)錯(cuò)誤語(yǔ)法的容忍度則比Mozilla產(chǎn)品所使用的Gecko引擎小。
蘋(píng)果電腦于2002年采納了KHTML,作為開(kāi)發(fā)Safari瀏覽器之用,并發(fā)布所修改的最新及過(guò)去版本源代碼。后來(lái)發(fā)表了開(kāi)放源代碼的WebCore及WebKit引擎,它們均是KHTML的衍生產(chǎn)品,在開(kāi)發(fā)網(wǎng)站列出引擎改變內(nèi)容,并會(huì)傳回至KDE計(jì)劃。由于兩個(gè)衍生產(chǎn)品各走不同路線,使兩者源代碼偏離,在與KDE交換更新會(huì)出現(xiàn)困難。其中一個(gè)原因,是蘋(píng)果在對(duì)外公開(kāi)源代碼之前,以一年時(shí)間編修他們的KHTML。另外,蘋(píng)果傳送更新至KDE計(jì)劃的方式,多是一口氣把大量改動(dòng)一起傳送,KDE在整理資料也出現(xiàn)一定的困難,及后蘋(píng)果表示會(huì)以CVS格式來(lái)傳送。再者,蘋(píng)果所作出的改動(dòng)包括Mac OS X系統(tǒng)獨(dú)有的事物,如Objective-C、KWQ等,在Linux及KHTML是沒(méi)有的。但KDE方面仍透過(guò)這些改動(dòng),為KHTML加入新功能及加快其排版速度。
基于Geckos內(nèi)核的瀏覽器Firefox瀏覽器
Mozilla Firefox,非正式中文名稱火狐,是一個(gè)開(kāi)源網(wǎng)頁(yè)瀏覽器,使用Geckos引擎(即非ie內(nèi)核),由Mozilla基金會(huì)與數(shù)百個(gè)志愿者所開(kāi)發(fā)。原名“Phoenix”(鳳凰),之后改名“Mozilla Firebird”(火鳥(niǎo)),再改為現(xiàn)在的名字。 Firefox是Mozilla基金會(huì)開(kāi)發(fā)的一個(gè)輕便、快速、簡(jiǎn)單與高擴(kuò)充性的瀏覽器。
Redfox瀏覽器
Redfox是經(jīng)過(guò)定制后的綠色安裝增強(qiáng)FireFox版本,其特點(diǎn)如下:采用正式版代碼編譯優(yōu)化,支持部分非標(biāo)準(zhǔn)網(wǎng)站;不寫(xiě)注冊(cè)表,可以方便的拷貝移動(dòng)或者刪除;加入了大量常用擴(kuò)展供大家在安裝的時(shí)候選擇;對(duì)原有FireFox的錯(cuò)誤和不方便設(shè)置進(jìn)行了修正;調(diào)整了部分次參數(shù)進(jìn)一步加快FireFox的瀏覽速度。
Madfox瀏覽器
Madfox是一個(gè)基于Firefox的瀏覽器。Firefox是一個(gè)非常優(yōu)秀的瀏覽器,但是由于我們周?chē)泻芏嗖环匣ヂ?lián)網(wǎng)標(biāo)準(zhǔn)的網(wǎng)站,從而在很大程度上阻礙了Firefox的推廣。對(duì)于標(biāo)準(zhǔn)和非標(biāo)準(zhǔn),無(wú)論是技術(shù)還是非技術(shù)層面,都有著非常激烈的爭(zhēng)論。Madfox項(xiàng)目的目的,是希望僅從技術(shù)的角度出發(fā),通過(guò)擴(kuò)展Firefox,嘗試去兼容不符合標(biāo)準(zhǔn)和規(guī)范的網(wǎng)站。
DR.Orca瀏覽器
Dr.Orca是一款方便、實(shí)用的單窗口多頁(yè)面瀏覽器。它基于Geckos引擎,除了擁有Gecko核心瀏覽器的瀏覽速度快的特點(diǎn),還具備了時(shí)下各種主流的瀏覽器所具備的很多功能,如支持鼠標(biāo)手勢(shì)、強(qiáng)大的過(guò)濾功能、群組收藏功能等。Dr.Orca還提供了多語(yǔ)言選擇,其中包括了簡(jiǎn)體中文。
K-Meleon瀏覽器
K-Meleon是一個(gè)可自定義的,輕型的用于WIN32(WINDOWS)平臺(tái)的網(wǎng)絡(luò)瀏覽器,基于Geckos設(shè)計(jì)引擎。K-Meleon是在遵循GNU公共許可證下的開(kāi)放源代碼的自由軟件。
Netscape 6.0 之后版本
網(wǎng)景(Netscape)是一個(gè)自1994年開(kāi)始的品牌。它亦是網(wǎng)景通訊公司(Netscape Communications Corporation,1994年4月4日—2003年7月5日)的常用簡(jiǎn)稱。網(wǎng)景通訊公司曾經(jīng)是一間美國(guó)的電腦服務(wù)公司,以其生產(chǎn)的同名網(wǎng)頁(yè)瀏覽器而聞名。
基于Presto內(nèi)核的瀏覽器 Opera瀏覽器
Opera為來(lái)自挪威的一個(gè)極為出色的瀏覽器,具有速度快、節(jié)省系統(tǒng)資源、訂制能力強(qiáng)、安全性高以及體積小等特點(diǎn),目前已經(jīng)是最受歡迎的瀏覽器之一。多文件接口(MDI)、方便的縮放功能、整合搜索引擎、鍵盤(pán)截徑與鼠標(biāo)瀏覽功能、當(dāng)機(jī)時(shí)下次可以從上次瀏覽進(jìn)度開(kāi)始、防止pop-up、Fullscreen、對(duì)HTML標(biāo)準(zhǔn)的支持、整合電子郵件與新聞群組以及讓使用者自訂接口按鈕、skin、工具列等的排列方式,都是Opera多年來(lái)備受喜愛(ài)的特殊功能。
基于Kestrel內(nèi)核的瀏覽器 Opera 9.5 之后版本
最新正式版Opera 9.5使用了Kestrel內(nèi)核,全新 的內(nèi)核使Opera 9.5速度更快,且它支持開(kāi)放網(wǎng)頁(yè)標(biāo)準(zhǔn)。其中Opera Link功能可以使用戶自由連接使用Opera瀏覽器的設(shè)備。最新的Opera 9.5瀏覽器可以在Windows、Mac及Linux操作系統(tǒng)下完美運(yùn)行。用戶可以在Opera官方網(wǎng)站上免費(fèi)下載
基于多種內(nèi)核的瀏覽器 Google Chrome
Google Chrome,中文名為谷歌瀏覽器,是一個(gè)由Google公司開(kāi)發(fā)的開(kāi)放源代碼網(wǎng)頁(yè)瀏覽器。本軟件的程式碼是基于其他開(kāi)放源代碼軟件所撰寫(xiě),包括WebKit和Mozilla,目標(biāo)是提升穩(wěn)定性、速度和安全性,并創(chuàng)造出簡(jiǎn)單且有效率的使用者界面。軟件的名稱是來(lái)自于又稱作“Chrome”的網(wǎng)絡(luò)瀏覽器圖形使用者界面(GUI)。
它采用Trident內(nèi)核與WebKit內(nèi)核,但和Safari、Firefox、IE都不一樣,不過(guò)開(kāi)發(fā)這個(gè)引擎的很多人也參與了Firefox內(nèi)核的開(kāi)發(fā)。
基于Webkit內(nèi)核的瀏覽器 Apple Safari 瀏覽器
Safari,蘋(píng)果計(jì)算機(jī)的最新作業(yè)系統(tǒng)Mac OS X中新的缺省瀏覽器,用來(lái)取代之前的Internet Explorer for Mac。Safari使用了KDE的KHTML作為瀏覽器的運(yùn)算核心。 目前該瀏覽器已支持Windows平臺(tái)。