现在位置首页 / 前端开发 /正文

浏览器工作原理浅析

作者: IT小兵 | 2013年12月9日| 热度:℃ | 评论: |参与:

今天将对浏览器工作原理进行一下讲解。

浏览器工作原理浅析

用户界面- 包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分

浏览器引擎- 用来查询及操作渲染引擎的接口

渲染引擎- 用来显示请求的内容,例如,如果请求内容为html,它负责解析html及css,并将解析后的结果显示出来

网络- 用来完成网络调用,例如http请求,它具有平台无关的接口,可以在不同平台上工作

UI 后端- 用来绘制类似组合选择框及对话框等基本组件,具有不特定于某个平台的通用接口,底层使用操作系统的用户接口

JS解释器- 用来解释执行JS代码

数据存储- 属于持久层,浏览器需要在硬盘中保存类似cookie的各种数据,HTML5定义了web database技术,这是一种轻量级完整的客户端存储技术

QQ截图20131209092913.jpg

渲染引擎有:

QQ截图20131209092936.jpg


渲染引擎基本流程:

渲染引擎

webkit渲染引擎主流程

•webkit使用render树 这个名词来命名由渲染对象组成的树。

•元素的定位称为布局。

•利用dom节点及样式信息去构建render树的过程为attachment

Gecko渲染引擎主流程

•Gecko称可见的格式化元素组成的树为frame树,每个元素都是一个frame。

•元素的定位称为回流。

•Gecko在html和dom树之间附加了一层,这层称为内容接收器,相当制造dom元素的工厂。


解析流程

解析一个文档:即将其转换为具有一定意义的结构——编码可以理解和使用的东西。


解析的结果通常是表达文档结构的节点树,称为解析树或语法树。

•解析可以分为两个子过程–

语法分析:对语言应用语法规则。

–词法分析:将输入分解为符号,符号是语言的词汇表——基本有效单元的集合。

上下文无关文法

如果一个语言的文法是上下文无关的,则它可以用正则解析器来解析。

对上下文无关文法的一个直观的定义是,该文法可以用BNF来完整的表达。


点击阅读本文所属分类的更多文章: 前端开发 。和高手一起交流:346717337
友荐云推荐

未注明转发、原文均为本站原创。分享本文请注明 原文链接

给您更多信息和帮助

在这里您可以找到更多:

技术交流群:346717337 Jquery插件交流

投稿:[email protected]

承接:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/业务咨询

echarts教程系列
本月最热文章

微信扫一扫,徜徉悠嘻网,您的休闲乐园

微信公众号:快乐每一天

随机文章
标签

技术交流群:346717337

投稿:[email protected]

专业专注:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/付费问题咨询