在博客园,看到了一篇介绍“浏览器”的文章,挺详细的,http://kb.cnblogs.com/page/129756/
目录:介绍--渲染引擎--解析与DOM树构建--渲染树构建--布局--绘制--动态变化--渲染引擎的线程--CSS2可视模型
在此写下自己的笔记,以便自我消化。
第一篇:浏览器介绍
1.五种主流的浏览器:IE、Firefox、Chrome、Safari、Opera
开源的:Firefox,Chrome,Safari(部分开源)
2.常见的用户界面:
(1)URI地址栏 Uniform Resource Identifier
(2)前进、后退
(3)刷新、暂停等按钮
(4)书签选项
3.主要组件
(1)用户界面:如上
(2)浏览器引擎:查询、操作渲染引擎的接口。
(3)渲染引擎:显示请求的内容。
(4)网络: 网络调用,eg.HTTP请求,具有平台无关性。
(5)UI后端:绘制基本组件,eg.对话框,组合选择框.不特定于某个平台的接口,底层使用操作系统的用户接口。
(6)JS解释器:解释执行JS代码。
(7)数据存储:持久层,浏览器在硬盘中保存类似cookie的数据。其中HTML5中定义了dadabase技术,轻量级完整的客户端存储技术
注意:不同于大部分浏览器,Chrome为每个Tab分配了各自的渲染引擎实例,即:一个Tab一个渲染引擎实例,一个Tab一个独立进程。
待攻破知识点:
(1)浏览器引擎
(2)渲染引擎、HTTP、JS解释器
(3)cookie及database技术
(4)开源的浏览器:源码、工作流程