主流瀏覽器內核概覽
Fromwww.liulan7.net並有較大的修改。
瀏覽器最核心的部分是渲染引擎(RenderingEngine),我們一般習慣稱之爲“瀏覽器內核”,其負責解析網頁語法(如HTML、JavaScript)並渲染、展示網頁。因此,所謂的瀏覽器內核通常也就是指瀏覽器所採用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網頁的內容以及頁面的格式信息。不同的瀏覽器內核對網頁編寫語法的解析也有所不同,因此同一網頁在不同的內核瀏覽器裏的渲染、展示效果也可能不同。
l主流瀏覽器內核介紹(如圖所示)
主流瀏覽器內核分類
瀏覽器內核種類繁多,商用的加上非商業的免費內核,大約有10款以上甚至更多,不過通常比較常見的大約只有以下4種,下面就簡單介紹一下。
(1)Trident
Trident(又稱爲MSHTML),是微軟的Windows搭載的網頁瀏覽器——InternetExplorer瀏覽器使用的內核(俗稱IE內核),該內核程序在1997年的IE4中首次被採用,之後不斷地加入新的技術並隨着新版本的IE發佈。Trident實際上是一款開放的內核,Trident引擎被設計成一個軟件組件(模塊),使得其他軟件開發人員很容易將網頁瀏覽功能加到他們自行開發的應用程序裏,其接口內核設計相當成熟,因此才涌現出許多采用IE內核而非IE的瀏覽器(如Maxthon、TheWorld、騰訊的TT、GreenBrowser等),但是Trident只能用於Windwos平臺。
由於IE本身的“壟斷性”而使得Trident內核在很長時間內都是一家獨大,微軟也在相當長一段時間內都沒有更新Trident內核,這就導致了兩個後果——一是Trident內核曾經幾乎與W3C標準脫節;二是Trident內核的大量Bug等安全性問題沒有得到及時解決。目前,微軟對Trident排版引擎做了重大變動,除了加入新的技術之外,還增加了對網頁標準的支持。儘管這些變動已經在相當大的程度上落後了其他的排版引擎,如Gecko、WebCore、KHTML及Presto。
常見Trident內核(IE內核)瀏覽器下載【轉載自周沁妍的http://hi.baidu.com/eqsyssecurity/blog/item/66680ac8b31a2b1b7e3e6f28.html】
InternetExplorer瀏覽器:http://www.microsoft.com/china/windows/internet-explorer/
Maxthon瀏覽器:http://www.maxthon.cn/download.htm
世界之窗瀏覽器:http://www.ioage.com/cn/download.htm
騰訊TT瀏覽器:http://tt.qq.com/
GreenBrowser瀏覽器:http://www.morequick.com/indexgb.htm
360瀏覽器:http://se.360.cn/index_intro.html
(2)Gecko
Gecko是開放源代碼、以C++編寫的網頁排版引擎,目前被Mozilla家族網頁瀏覽器以及Netscape6以後版本瀏覽器所使用。這款軟件原本是由網景通訊公司開發的,現在則由Mozilla基金會維護。由於Gecko的特點是代碼完全公開,因此,其可開發程度很高,全世界的程序員都可以爲其編寫代碼,增加功能。因爲這是個開源內核,因此受到許多人的青睞,採用Gecko內核的瀏覽器也很多,這也是Gecko內核雖然年輕但市場佔有率能夠迅速提高的重要原因。Gecko排版引擎提供了一個豐富的程序界面以供與互聯網相關的應用程序使用,例如網頁瀏覽器、HTML編輯器、客戶端/服務器等。雖然最初的主要對象是Mozilla的衍生產品,如Netscape和MozillaFirefox,但是現在已有很多其他軟件利用這個排版引擎。此外Gecko也是一個跨平臺內核,可以在Windows、BSD、Linux和MacOSX中使用。
Gecko是最流行的排版引擎之一,其流行程度僅次於Trident。使用Gecko引擎的瀏覽器有Firefox、網景6~9、SeaMonkey、Camino、Mozilla、Flock、Galeon、K-Meleon、Minimo、Sleipni、Songbird、XeroBank。GoogleGadget引擎採用的就是Gecko瀏覽器引擎。
常見Gecko內核瀏覽器下載
MozillaFireFox瀏覽器:http://www.mozilla.net.cn/
Netscape網景瀏覽器:http://browser.netscape.com/ns8/
(3)Presto
Presto是一個由OperaSoftware開發的瀏覽器排版引擎,目前Opera7.0~10.00版本使用該款引擎。Presto的特點就是渲染速度的優化達到了極致,它是目前公認的網頁瀏覽速度最快的瀏覽器內核,然而代價是犧牲了網頁的兼容性。
Presto實際上是一個動態內核,與Trident、Gecko等內核的最大區別就在於腳本處理上,Presto有着天生的優勢,頁面的全部或者部分都能夠在迴應腳本事件時等情況下被重新解析。此外該內核在執行JavaScript時有着最快的速度,根據同等條件下的測試,Presto內核執行同等JavaScript所需的時間僅有Trident和Gecko內核的約1/3。不過,不足之處在於Presto是商業引擎,使用Presto的除了Opera以外,只剩下NDSBrowser、Nokia770網絡瀏覽器等,這在很大程度上限制了Presto的發展。
OperaWidget引擎採用的就是Presto引擎。
常見Presto內核瀏覽器下載
Opera瀏覽器:http://www.opera.com/
瀏覽器測試:http://ie.sogou.com/lab.html
瀏覽器CSS3測試:http://knb.im/css3/
(4)WebKitWebKit是一個開放源代碼的瀏覽器引擎(WebBrowserEngine),WebKit最初的代碼來自KDE的KHTML和KJS(它們均爲開放源代碼,都是自由軟件,在GPL協議下授權)。所以WebKit也是自由軟件,同時開放源代碼。除了Safari瀏覽器,Mac下還有OmniWeb、Shiira等人氣很高的瀏覽器。Google的chrome也使用WebKit作爲內核。WebKit內核在手機上的應用也十分廣泛,例如Google的Android平臺瀏覽器、Apple的iPhone瀏覽器、NokiaS60瀏覽器等所使用的瀏覽器內核引擎,都是基於WebKit引擎的。
WebKit內核也廣泛應用於Widget引擎產品,包括中國移動的BAE、Apple的Dashboard以及NokiaWRT在內採用的均爲WebKit引擎。
常見WebKit內核瀏覽器下載
GoogleChrome瀏覽器:http://www.google.com/chrome?hl=zh-CN
Applesafari瀏覽器:http://www.apple.com.cn/safari/
搜狗高速瀏覽器(WebKit、Trident雙內核):http://ie.sogou.com/
世界之窗瀏覽器極速版:http://chrome.theworld.cn/
Maxthon3瀏覽器(WebKit、Trident雙內核):http://www.maxthon.cn/mx3/index.html
QQ瀏覽器5(WebKit、Trident雙內核):http://labs.qq.com/labs/browser.shtml