瀏覽器核心

瀏覽器核心

瀏覽器最重要或者說核心的部分是“Rendering Engine”,可大概譯為“渲染引擎”,不過我們一般習慣將之稱為“瀏覽器核心”。負責對網頁語法的解釋(如標準通用標記語言下的一個套用HTMLJavaScript)並渲染(顯示)網頁。 所以,通常所謂的瀏覽器核心也就是瀏覽器所採用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網頁的內容以及頁面的格式信息。不同的瀏覽器核心對網頁編寫語法的解釋也有不同,因此同一網頁在不同的核心的瀏覽器里的渲染(顯示)效果也可能不同,這也是網頁編寫者需要在不同核心的瀏覽器中測試網頁顯示效果的原因。

基本介紹

  • 中文名:瀏覽器核心
  • 外文名:Rendering Engine
  • 作用:決定網頁及頁面格式信息
  • 分類:Trident、GeckoPresto
核心分類,Trident,Gecko,Presto,Webkit,Blink,排版引擎,WebCore,KHTML,

核心分類

Trident

Trident(IE核心):該核心程式在1997年的IE4中首次被採用,是微軟在Mosaic代碼的基礎之上修改而來的,並沿用到IE11,也被普遍稱作”IE核心”。Trident實際上是一款開放的核心,其接口核心設計的相當成熟,因此才有許多採用IE核心而非IE的瀏覽器(殼瀏覽器)湧現。
由於IE本身的“壟斷性”(雖然名義上IE並非壟斷,但實際上,特別是從Windows 95年代一直到XP初期,就市場占有率來說IE的確藉助Windows的東風處於“壟斷”的地位)而使得Trident核心的長期一家獨大,微軟很長時間都並沒有更新Trident核心,這導致了兩個後果——一是Trident核心曾經幾乎與W3C標準脫節(2005年),二是Trident核心的大量 Bug等安全性問題沒有得到及時解決,然後加上一些致力於開源的開發者和一些學者們公開自己認為IE瀏覽器不安全的觀點,也有很多用戶轉向了其他瀏覽器,Firefox和Opera就是這個時候興起的。非Trident核心瀏覽器的市場占有率大幅提高也致使許多網頁開發人員開始注意網頁標準和非IE瀏覽器的瀏覽效果問題。
補充:IE從版本11開始,初步支持WebGL技術。IE8的JavaScript引擎是Jscript,IE9開始用Chakra,這兩個版本區別很大,Chakra無論是速度和標準化方面都很出色。
Trident核心的常見瀏覽器有: IE6IE7IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);360安全瀏覽器(1.0-5.0為Trident,6.0為Trident+Webkit,7.0為Trident+Blink)獵豹極輕瀏覽器360極速瀏覽器(7.5之前為Trident+Webkit,7.5為Trident+Blink)獵豹安全瀏覽器(1.0-4.2版本為Trident+Webkit,4.3及以後版本為Trident+Blink)獵豹極輕瀏覽器,傲遊瀏覽器(傲遊1.x、2.x為IE核心,3.x為IE與Webkit雙核)、百度瀏覽器(早期版本)、世界之窗瀏覽器(最初為IE核心,2013年採用Chrome+IE核心)、2345瀏覽器、騰訊TT淘寶瀏覽器采編讀瀏覽器搜狗高速瀏覽器(1.x為Trident,2.0及以後版本為Trident+Webkit)、阿雲瀏覽器(早期版本)、瑞星安全瀏覽器、Slim Browser、 GreenBrowser、愛帆瀏覽器(12 之前版本)、115瀏覽器、155瀏覽器、閃游瀏覽器、N氧化碳瀏覽器、糖果瀏覽器、彩虹瀏覽器、瑞影瀏覽器、勇者無疆瀏覽器、114瀏覽器、螞蟻瀏覽器、飛騰瀏覽器、速達瀏覽器、佐羅瀏覽器、海豚瀏覽器(iPhone/iPad/Android)、UC瀏覽器(Webkit核心+Trident核心)等。
其中部分瀏覽器的新版本是“雙核”甚至是“多核”,其中一個核心是Trident,然後再增加一個其他核心。國內的廠商一般把其他核心叫做“高速瀏覽模式”,而Trident則是“兼容瀏覽模式”,用戶可以來回切換。

Gecko

Gecko(Firefox核心):Netscape6開始採用的核心,後來的Mozilla FireFox(火狐瀏覽器) 也採用了該核心,Gecko的特點是代碼完全公開,因此,其可開發程度很高,全世界的程式設計師都可以為其編寫代碼,增加功能。因為這是個開源核心,因此受到許多人的青睞,Gecko核心的瀏覽器也很多,這也是Gecko核心雖然年輕但市場占有率能夠迅速提高的重要原因。
事實上,Gecko引擎的由來跟IE不無關係,前面說過IE沒有使用W3C的標準,這導致了微軟內部一些開發人員的不滿;他們與當時已經停止更新了的 Netscape的一些員工一起創辦了Mozilla,以當時的Mosaic核心為基礎重新編寫核心,於是開發出了Gecko。不過事實上,Gecko 核心的瀏覽器仍然還是Firefox (火狐) 用戶最多,所以有時也會被稱為Firefox核心。此外Gecko也是一個跨平台核心,可以在Windows、 BSD、Linux和Mac OS X中使用。
補充:JavaScript引擎是:SpiderMonkey(1.0-3.0)/ TraceMonkey(3.5-3.6)/ JaegerMonkey(4.0-)。
Gecko核心常見的瀏覽器:Mozilla Firefox、Mozilla SeaMonkey、waterfox(Firefox的64位開源版)、Iceweasel、Epiphany(早期版本)、Flock(早期版本)、K-Meleon

Presto

Presto(Opera前核心) (已廢棄): Opera12.17及更早版本曾經採用的核心,現已停止開發並廢棄,該核心在2003年的Opera7中首次被使用,該款引擎的特點就是渲染速度的最佳化達到了極致,然而代價是犧牲了網頁的兼容性。
實際上這是一個動態核心,與前面幾個核心的最大的區別就在腳本處理上,Presto有著天生的優勢,頁面的全部或者部分都能夠在回應腳本事件時等情況下被重新解析。此外該核心在執行Javascrīpt的時候有著最快的速度,根據在同等條件下的測試,Presto核心執行同等Javascrīpt所需的時間僅有Trident和Gecko核心的約1/3(Trident核心最慢,不過兩者相差沒有多大),本文的其中一個修改者認為上述測試信息過於老舊且不完整,因為他曾做過的小測試顯示Presto部分快部分慢,各核心總體相當。那次測試的時候因為Apple機的硬體條件和普通PC機不同所以沒有測試WebCore核心。只可惜Presto是商業引擎,使用Presto的除開Opera以外,只剩下NDSBrowser、Wii Internet Channle、Nokia 770網路瀏覽器等,這很大程度上限制了Presto的發展。
Opera現已改用Google Chrome的Blink核心。

Webkit

Webkit(Safari核心,Chrome核心原型,開源):它是蘋果公司自己的核心,也是蘋果的Safari瀏覽器使用的核心。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是從KDE的KHTML及KJS引擎衍生而來,它們都是自由軟體,在GPL條約下授權,同時支持BSD系統的開發。所以Webkit也是自由軟體,同時開放原始碼。在安全方面不受IE、Firefox的制約,所以Safari瀏覽器在國內還是很安全的。
限於Mac OS X的使用不廣泛和Safari瀏覽器曾經只是Mac OS X的專屬瀏覽器,這個核心本身應該說市場範圍並不大;但似乎根據最新的瀏覽器調查表明,該瀏覽器的市場甚至已經超過了Opera的Presto了——當然這一方面得益於蘋果轉到x86架構之後的人氣暴漲,另外也是因為Safari 3終於推出了Windows版的緣故吧。Mac下還有OmniWeb、Shiira等人氣很高的瀏覽器。
Google Chrome、360極速瀏覽器以及搜狗高速瀏覽器高速模式也使用Webkit作為核心(在腳本理解方面,Chrome使用自己研發的V8引擎)。WebKit 核心在手機上的套用也十分廣泛,例如 Google 的手機 Gphone、 Apple 的iPhone, Nokia’s Series 60 browser 等所使用的 Browser 核心引擎,都是基於 WebKit。
WebKit核心常見的瀏覽器:傲遊瀏覽器3、Apple Safari (Win/Mac/iPhone/iPad)、Symbian手機瀏覽器、Android 默認瀏覽器,

Blink

產品簡介
Blink是一個由Google和Opera Software開發的瀏覽器排版引擎,Google計畫將這個渲染引擎作為Chromium計畫的一部分,並且在2013年4月的時候公布了這一訊息。這一渲染引擎是開源引擎WebKit中WebCore組件的一個分支,並且在Chrome(28及往後版本)、Opera(15及往後版本)和Yandex瀏覽器中使用。
相關新聞
2013年4月3日,谷歌在Chromium Blog上發表部落格,稱將與蘋果的開源瀏覽器核心Webkit分道揚鑣,在Chromium項目中研發Blink渲染引擎(即瀏覽器核心),內置於Chrome瀏覽器之中。
蘋果在Safari中採用Webkit核心,並於2005年將Webkit公開為開源軟體。谷歌當時採用蘋果的Webkit核心打造了Chrome瀏覽器。Opera也宣布稱將會轉向Webkit核心,但是谷歌宣布此舉後,Opera表示將會跟隨谷歌採用其Blink瀏覽器核心,同時參與了Blink的開發。
谷歌轉向研發Blink瀏覽器核心意義重大,谷歌此舉欲降低Webkit即蘋果在瀏覽器市場的影響力。截止2012年底,Webkit瀏覽器核心占總瀏覽器市場份額約40%。谷歌解釋稱,Chromium多處理架構系統與其他Webkit瀏覽器很不相同。谷歌工程師Adam Barth在部落格中表示,隨著瀏覽器的發展,蘋果的Webkit已經不能滿足用戶需求,同時也有礙瀏覽器技術的創新步伐。但是他也表示,谷歌自主研發Blink核心絕非易事,但是新核心將會提升整個開源網路生態系統的機能。谷歌做出此舉之際,Mozilla與三星也達成合作協定開發“下一代”瀏覽器渲染引擎Servo。

排版引擎

WebCore

WebCore是蘋果公司開發的排版引擎,它是在另外一個排版引擎“KHTML”的基礎上而來的。使用WebCore的主要有Safari,此外還有OmniWeb、Shiira、Swift等。Safari現支持Windows,但效果不如macOS上的。

KHTML

KHTML,是HTML網頁排版引擎之一,由KDE所開發。
KDE系統自KDE2版起,在檔案及網頁瀏覽器使用了KHTML引擎。該引擎以C++程式語言所寫,並以LGPL授權,支援大多數網頁瀏覽標準。由於微軟的Internet Explorer的占有率相當高,不少以FrontPage製作的網頁均包含只有IE才能讀取的非標準語法,為了使KHTML引擎可呈現的網頁達到最多,部分IE專屬的語法也一併支援。
KHTML擁有速度快捷的優點,但對錯誤語法的容忍度則比Mozilla產品所使用的Gecko引擎小。
蘋果電腦於2002年採納了KHTML,作為開發Safari瀏覽器之用,並發布所修改的最新及過去版本原始碼。後來發表了開放原始碼的WebCore及WebKit引擎,它們均是KHTML的衍生產品,在開發網站列出引擎改變內容,並會傳回至KDE計畫。由於兩個衍生產品各走不同路線,使兩者原始碼偏離,在與KDE交換更新會出現困難。其中一個原因,是蘋果在對外公開原始碼之前,以一年時間編修他們的KHTML。另外,蘋果傳送更新至KDE計畫的方式,多是一口氣把大量改動一起傳送,KDE在整理資料也出現一定的困難,及後蘋果表示會以CVS格式來傳送。再者,蘋果所作出的改動包括macOS系統獨有的事物,如Objective-C、KWQ等,在Linux及KHTML是沒有的。但KDE方面仍透過這些改動,為KHTML加入新功能及加快其排版速度。
基於KHTML核心的核心:WebKit、WebCore。

相關詞條

熱門詞條

聯絡我們