浏览器内核以及渲染过程
浏览器内核
浏览器渲染引擎是由各大浏览器厂商依照 W3C 标准自行研发的,也被称之为「浏览器内核」。
目前,市面上使用的主流浏览器内核有5类:Trident、Gecko、Presto、Webkit、Blink。
Trident:俗称 IE 内核,也被叫做 MSHTML 引擎,目前在使用的浏览器有 IE11 -,以及各种国产多核浏览器中的IE兼容模块。另外微软的 Edge 浏览器不再使用 MSHTML 引擎,而是使用类全新的引擎 EdgeHTML。
Gecko:俗称 Firefox 内核,Netscape6 开始采用的内核,后来的 Mozilla FireFox(火狐浏览器)也采用了该内核,Gecko 的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐,Gecko 内核的浏览器也很多,这也是 Gecko 内核虽然年轻但市场占有率能够迅速提高的重要原因。
Presto:Opera 前内核,为啥说是前内核呢?因为 Opera12.17 以后便拥抱了 Google Chrome 的 Blink 内核,此内核就没了寄托
Webkit:Safari 内核,也是 Chrome 内核原型,主要是 Safari 浏览器在使用的内核,也是特性上表现较好的浏览器内核。也被大量使用在移动端浏览器上。
Blink: 由 Google 和 Opera Software 开发,在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。Blink 其实是 Webkit 的一个分支,添加了一些优化的新特性,例如跨进程的 iframe,将 DOM 移入 JavaScript 中来提高 JavaScript 对 DOM 的访问速度等,目前较多的移动端应用内嵌的浏览器内核也渐渐开始采用 Blink。
渲染引擎的工作流程
HTML解析器解析DOM树(解析为DOM树上个节点,同时解析CSS样式)
渲染树结构(具有一定的视觉效果,并按照一定顺序排列在屏幕上)
布局渲染树(为每个节点分配固定坐标)
绘制DOM树(渲染引擎会遍历所有的节点,由UI后端绘制)
浏览器内核以及渲染过程相关推荐
- 浏览器内核之渲染基础
微信公众号:爱写bugger的阿拉斯加 如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 此文章是我最近在看的[WebKit 技术内幕]一书的一些理解和做的笔记. 而[WebKit 技术内幕] ...
- 浏览器内核、渲染引擎、x86与RAM架构等基本概念
什么是浏览器内核 负责对网页语法的解释(如HTML.JavaScript)并渲染显示网页. 浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine ...
- 【前端】浅谈浏览器内核:渲染引擎、JS引擎
浏览器内核是什么? 简而言之,浏览器内核就是把我们编写的代码转换为页面的中控件. 虽然现在大家谈起浏览器内核时,多指代渲染引擎(Rendering engine 或 layout engineer). ...
- 浏览器渲染与浏览器内核相关杂谈
简介 之前对浏览器渲染,js加载这些一直一知半解,这回查阅了很多资料,又看了本浏览器内核介绍的书,终于对浏览器的渲染过程和浏览体系有了一个整体的了解.下面从几个方面介绍一下浏览器内核和渲染过程. 浏览 ...
- 【前端】浏览器内核(渲染引擎)有哪些?
一.浏览器的结构: ① 用户界面(UI):包括菜单栏.工具栏.地址栏.后退/前进按钮.书签目录等,也就是能看到的除了显示页面的主窗口之外的部分: ② 浏览器引擎(Rendering engine):也 ...
- 浏览器内核-渲染引擎、js引擎
一个完整的浏览器包含浏览器内核和浏览器的外壳(shell).浏览器核心--内核分成两部分:渲染引擎和js引擎.由于js引擎越来越独立,内核就倾向于只指渲染引擎. 1 浏览器组成结构 浏览器一般由七个模 ...
- 各主流浏览器内核介绍
所谓的"浏览器内核"无非指的是一个浏览器最核心的部分--"Rendering Engine",直译这个词汇叫做"渲染引擎",不过我们也常称其 ...
- 浏览器组成及渲染引擎
一.浏览器组成 人机交换部分(UI) 网络请求部分(socket) javascript引擎部分(解析Javascript) 数据存储(cookie.html5中的本地存储localstorage.s ...
- 【读书笔记】【WebKit 技术内 幕(一)】浏览器架构与浏览器内核;chromium、webkit和blink的渲染过程;chromium、webkit的架构与代码结构;webkit2架构
文章目录 前言 Something great 第1章 浏览器和浏览器内核 浏览器 用户代理和浏览器行为 内核特征 WebKit与blink 第2章 HTML网页和结构 网页构成与结构 WebKit的 ...
- 彻底搞清楚浏览器渲染过程
一.概述 在分析浏览器的渲染过程之前,我们先了解一下什么是进程和线程: (1)什么是进程? 进程是CPU进行资源分配的基本单位. (2)什么是线程? 线程是CPU调度的最小单位,是建立在进程的基础上运 ...
最新文章
- data es集群master_Kubernetes Helm3 部署 ElasticSearch amp; Kibana 7 集群
- plt.figure(figsize(x,y))设置后后续程序都跟着改变,如何处理?走破解它!
- HALCON基于形变的模板匹配实现
- Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 't
- 【linux】虚拟机安装centos后ping ip地址出现错误:Network is unreachable
- 安装 | Matlab2022a下载及新功能一览
- 五年php面试题,找工作的你不容错过的45个PHP面试题附答案(下篇)
- 全志R40 串口485 控制操作
- 中文信息处理——语料划分测试集与训练集
- Java GUI社团管理系统课程设计
- 通俗易懂的粒子滤波算法(PF)
- 如何用python制作五子棋
- 华为云GaussDB技术创新持续发力,荣膺DTCC2021创新大奖
- 物联网嵌入式高级C语言流行框架、学习路线图
- 一封谷歌账号辅助邮箱变更的广告邮件
- 内存溢出(OutOfMemoryError)与栈溢出(StackOverflowError)
- ios直播开发基础,推流协议及流程
- 虚拟局域网软件开源_用于云和虚拟化的事实上的标准开源软件包括Linux
- dht11 python mysql_自己动手实现智能家居之温湿度数据采集存储(DHT11,MySql)
- B区路上看到了美女。。。
热门文章
- 使用VLC搭建视频直播服务器
- java char a z_java中,char A,char a的值各是多少?
- 微信上传临时素材|微信公众号发送图片
- 51单片机课设--篮球计分器
- oracle 11203 ora32701,love wife love life —Roger的Oracle/MySQL数据恢复博客
- 认识JNCIE认证(学习方法经验总结 )
- 快讯!分布式调度项目ElasticJob即将重新起航
- 开发那点事(六)php抓取北京实时公交数据
- 巴菲特致股东的一封信:1999年
- 服务器晚上自动重启是什么原因,服务器经常自动重启是什么原因