浏览器内核
瀏覽器內核——最核心部分 Rendering Engine 渲染引擎(也成為排版引擎或解析引擎) + JS引擎。
渲染引擎 負責取得網頁的內容(HTML、XML、圖像等等)、整理訊息(例如加入 CSS 等),以及計算網頁的顯示方式,然后會輸出至顯示器或打印機。瀏覽器的內核的不同對于網頁的語法解釋會有不同,所以渲染的效果也不相同。。渲染引擎決定了瀏覽器如何顯示網頁內容及頁面格式信息,不同的瀏覽器內核對網頁編寫語法的解析不同,因此同一網頁在不同內核的瀏覽器下顯示的效果可能不同。這也就是開發者需要兼容不同內核瀏覽器網頁顯示的原因。
JS引擎 負責對js的渲染,一個js引擎的好壞決定了瀏覽器對腳本的加載和執行速度,也就影響了其跑分。
一、常見的渲染引擎
—— Trident 、 Gecko、 WebKit、Chromium/Blink、Presto
1、Trident ['tra?d(?)nt] (IE內核)
該內核在1997年的IE4中首次被采用,一直沿用的IE11,因此該內核也普遍被稱為IE內核。Win10發布后,IE 將其內置瀏覽器命名為Edge,采用新內核Edge HTML
2、Gecko ['ɡeko?]
Netscape6啟用的內核,后來Mozila Firefox 也采用該內核。
3、WebKit (Safari內核,Chrome內核原型)
WebKit 是蘋果公司自主研發的內核,也是Safari瀏覽器使用的內核。 WebKit 引擎包含渲染引擎WebCore和JS引擎JSCore 。均是從KDE的KHTML及KJS引擎衍生來的。當年蘋果在比較了Gecko和KHTML后,選擇了KHTML,因其具有清晰的源碼結構和極快的渲染速度。
4、Chromium/Blink
2008年谷歌發布了Chrome瀏覽器,該瀏覽器使用的內核為Chromium 。Chromium 使用蘋果公司的WebKit作為瀏覽器內核原型,Chromium引擎雖然是屬于WebKit的分支,卻把WebKit 代碼梳理的可讀性提高很多,之前可能需要一天編譯的代碼,現在兩個小時就能搞定。然而。在2013年,Chrome放棄Chromium引擎轉而使用最新的Blink引擎(基于WebKit2——蘋果公司于2010年推出的新的WebKit引擎),Blink對比Chromium引擎精簡了代碼,改善了DOM框架,也提升了安全性。
5、Presto
Opera7.0以后版本的內核。2013年2月13日,Opera Software宣布未來產品將以Webkit和V8為主,逐步放棄使用基于Presto引擎的產品
二、Javascript引擎
用來渲染JS的,JS引擎涉及跑分。通常我們說的瀏覽器速度快,其實大部分指的就是JS渲染速度,而不是頁面載入速度。JavaScript的渲染速度越快,動態頁面的展示也越快。Opera在JavaScript引擎的跑分上面一直都是很牛逼的,一般來說最新測試版之間PK,Opera基本都會奪冠。
1、Chakra
查克拉,IE9啟用的新的JavaScript引擎。
2、SpiderMonkey/TraceMonkey/JaegerMonkey
SpiderMonkey應用在Mozilla Firefox 1.0-3.0,TraceMonkey應用在Mozilla Firefox 3.5-3.6版本,JaegerMonkey應用在Mozilla Firefox 4.0及后續的版本。
3、V8
應用于Chrome、傲游3。
4、Nitro
應用于Safari 4及后續的版本。
5、Linear A/Linear B/Futhark/Carakan
Linear A應用于Opera 4.0-6.1版本,Linear B應用于Opera 7.0~9.2版本,Futhark應用于Opera 9.5-10.2版本,Carakan應用于Opera 10.5及后續的版本。
6、KJS
KHTML對應的JavaScript引擎。
三、移動端
移動端的瀏覽器內核主要指系統內置瀏覽器內核。
目前移動設備常用的內核有WebKit、Blink、Trident、Gecko等。
iphone和Ipad等蘋果IOS系統主要是WebKit
Android 4.4之前的主要是WebKit
Android 4.4系統原本基于Android WebKit 的WebView實現被換成基于Chromium實現,內部渲染引擎改為Blink/Content內核引擎
參考鏈接:
http://www.jianshu.com/p/2a14d303308d
http://blog.csdn.net/u011467458/article/details/50471990
http://web.jobbole.com/84826/
總結
- 上一篇: 阿里微服务专家自己手写Spring Bo
- 下一篇: 计算机网络之IP地址与MAC地址