浏览器与内核

在前端的开发工作或是面试过程中,经常会用到关于浏览器及其内核的知识。tt在这里给大家总结一下。


- 浏览器                     —— 内核
- 谷歌浏览器 Chrome —— Webkit
- 火狐浏览器 FIreFox  —— Gecko
- 微软浏览器 IE           —— Trident
- 苹果浏览器 Safari     —— Webkit
- 欧朋浏览器 Opera    —— Blink


什么是内核:
内核,可以叫做layout engine或rending engine,即排版引擎或渲染引擎。主要的作用是对页面信息进行整理,计算页面的显示方式,最后输出到显示器。也可说为是负责网页的语法解释(HTML、JavaScript)并渲染(显示)页面。


前端开发为什么要在不同的浏览器中调整页面
因为不同的浏览器有着不同的内核,同一页面在不同内核的浏览器中的显示效果可能是不同的,这也是网页编写者需要在不同的浏览器中测试测页面效果的原因。
例如,IE是将页面中的文字和图片都下载下来再显示页面,而FireFox是先显示文字部分,然后再去下载图片进行显示。


Webkit内核
Webkit内核又称为Chrome内核,但主流浏览器中的Chrome和Safari都是使用的Webkit内核。

  • 排版引擎:WebCore
  • 解析引擎:JavaScriptCore

Webkit内核的浏览器在手机上应用十分广泛:
- Safari(Win/Mac/iPhone/iPad)
- Android默认浏览器
- Symbian手机浏览器
- Google的Gphone
- Nokia’s Series 60 browser


Gecko内核
Gecko内核又称为火狐内核,它的代码完全公开,所以它是一个开源的内核,开发程度比较高。

  • 解析引擎:SpiderMonkey

Trident内核
Trident内核又称为IE内核。
它是一个开放的内核,接口内核设计的相当成熟,所以市场上会出现很多是IE内核而非IE的浏览器,例如360、猎豹、百度、UC等等。
但由于其在2005年之前的长时间内没有更新,导致其在2005年左右几乎与W3C标准完全脱节,也出现了大量的Bug和安全性问题,所以导致了其他内核的兴起。
IE浏览器从IE4开始至现在的IE11一直使用Trident内核。

  • Trident4.0 —— IE6、IE7、IE8
  • Trident5.0 —— IE9
  • Trident6.0 —— IE10
  • 从IE11开始支持WebGL技术

IE8和IE9是IE浏览器的一个重要分界点
- IE8的解析引擎即JavaScript引擎是 JScript
- IE9的解析引擎即JavaScript引擎是 Chakra
Chakra与JScript相比,速度和标准化方面都做了很大的提升。


Blink内核
Blink内核比较特殊,它是Opera15之后的浏览器内核,也是Chrome28之后的内核,它是Webkit中WebCore的一个分支。
对于早期的Opera浏览器其内核是Presto内核,但是已经废弃了,所以就不再做过多的说明了。

你可能感兴趣的:(浏览器,面试,前端集结号)