日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

浏览器内核及分类

發布時間:2024/9/19 HTML 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浏览器内核及分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

瀏覽器=shell+內核?
其中shell的種類相對比較多,內核則比較少。Shell是指瀏覽器的外殼:例如菜單,工具欄 等。主要是提供給用戶界面操作,參數設置等等。它是調用內核來實現各種功能的。內核才是瀏覽器的核心。內核是基于標記語言顯示內容的程序或模塊。

什么是瀏覽器內核

瀏覽器內核又可以分成兩部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎。它負責取得網頁的內容(HTML、XML、圖像等等)、整理訊息(例如加入CSS等),以及計算網頁的顯示方式,然后會輸出至 顯示器或打印機。瀏覽器的內核的不同對于網頁的語法解釋會有不同,所以渲染的效果也不相同。所有網頁瀏覽器、電子郵件客戶端以及其它需要編輯、顯示網絡內 容的應用程序都需要內核。(參見維基百科)JS引擎則是解析Javascript語言,執行javascript語言來實現網頁的動態效果。最開始渲染引 擎和JS引擎并沒有區分的很明確,后來JS引擎越來越獨立,內核就傾向于只指渲染引擎。渲染引擎決定了瀏覽器如何顯示網頁的內容以及頁面的格式信息。不同的瀏覽器內核對網頁編寫語法的解釋也有不同,因此同一網頁在不同的內核的瀏覽器里的渲染(顯示)效果也可能不同,這也是網頁編寫者需要在不同內核的瀏覽器中測試網頁顯示效果的原因。JS引擎負責對JavaScript進行解釋、編譯和執行,以使網頁達到一些動態的效果。但是常見的瀏覽器內核可以分這五種:Trident、Gecko、 Presto、Webkit、Blink。

內核分類

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內核的常見瀏覽器有:[1]  IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);[1] 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雙核)、百度瀏覽器(早期版本)、世界之窗瀏覽器[2] (最初為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瀏覽器(Blink內核+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。?
Gecko內核常見的瀏覽器:[1] 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等人氣很高的瀏覽器。?
搜狗高速瀏覽器高速模式也使用Webkit作為內核(在腳本理解方面,Chrome使用自己研發的V8引擎)。WebKit 內核在手機上的應用也十分廣泛,例如 Google 的手機 Gphone、 Apple 的iPhone, Nokia’s Series 60 browser 等所使用的 Browser 內核引擎,都是基于 WebKit。?
WebKit內核常見的瀏覽器:傲游瀏覽器3、[1] Apple Safari (Win/Mac/iPhone/iPad)、Symbian手機瀏覽器、Android 默認瀏覽器,

Blink

產品簡介?
Blink是一個由Google和Opera Software開發的瀏覽器排版引擎,Google計劃將這個渲染引擎作為Chromium計劃的一部分,并且在2013年4月的時候公布了這一消息。這一渲染引擎是開源引擎WebKit中WebCore組件的一個分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex瀏覽器中使用。

總結

IE(9以前)=Trident+Jscript?
IE(9以后)=Trident+Chakra?
360=Trident+Blink?
搜狗=Trident+WebKit?
Firefox=Gecko+JagerMonkey?
Safari=webkit=webcore+jscore?
Chrome=Blink+v8?
Opera=Blink+v8

瀏覽器內核實現原理

渲染流程如下所示:?

渲染引擎運作流程

Mozilla架構設計:界面和實現分離。采用標記語言,JavaScript,C++來開發。JSEngine就是指SpideMonkey,Layout就是指Gecko。Mozilla的一個關鍵部分是XPCOM和NSPR。?
?
Webkit的處理流程:?

Mozilla架構設計:界面和實現分離。采用標記語言,JavaScript,C++來開發。JSEngine就是指SpideMonkey,Layout就是指Gecko。Mozilla的一個關鍵部分是XPCOM和NSPR。?
參考資料:http://www.iefans.net/liulanqi-neihe-jiexi/?
http://blog.csdn.net/jing_valora/article/details/51901208?
http://www.cnblogs.com/kylin2016/p/5845658.html

總結

以上是生活随笔為你收集整理的浏览器内核及分类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。