包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分
用来查询及操作渲染引擎的接口
用来显示请求的内容,例如,如果请求内容为html,它负责解析html及css,并将解析后的结果显示出来
用来绘制类似组合选择框及对话框等基本组件,具有不特定于某个平台的通用接口,底层使用操作系统的用户接口
用来解释执行JS代码
属于持久层,浏览器需要在硬盘中保存类似cookie的各种数据,HTML5定义了webdatabase技术,这是一种轻量级完整的客户端存储技术
2018-11-2719:48:38周二
排版引擎、页面渲染引擎、解释引擎、模板引擎
LayoutEngine、RenderingEngine(解释引擎、渲染引擎、排版引擎)
内核、负责处理渲染页面、处理css样式、解析js等。
浏览器的核心就是浏览器内核。
1、渲染引擎
作用是:负责获取网页内容(html、图像)、整理消息、计算网页显示方式、输出到显示器这些工作
渲染引擎内含:
html解释器:将html文本解析成dom树(文档对象模型)
css解释器:为dom对象计算样式信息,为计算机布局提供基础设施
layout布局:在dom建立完毕后,计算出他们的位置大小、布局信息。形成一个内部表示模型。
2、js引擎
由于js引擎越来越独立,所以内核倾向于指的是渲染引擎。
作用是:解析js语言,执行js语言。并通过DOM接口和CSSOM接口修改布局和样式。实现网页的动态交互效果。
不同的浏览器有不同的内核,这就导致了不同的浏览器对同一段代码的解析结果不一致。
WebCore:
KHTML:
KHTML,是HTML网页排版引擎之一
浏览器内核的主要作用,是帮助浏览器来渲染网页的内容,负责解析网页语法(如html、javascript),并渲染、展示网页。将页面内容和排版代码转换为用户所见的视图
解析html以构建dom树->构建render树->布局render树->绘制render树
以下收集优秀讲解:
1、下载的顺序是从上到下,渲染的顺序也是从上到下。下载和渲染是同时执行的。
合并、压缩js、css减少dns寻址(少请求)或者将图片分散到不同的域名存储使用缓存尽量避免css表达式图片增加宽度和高度(不然每次要自动计算)css放在头部、js合理放置(尽量在最后)