一、浏览器的组成
浏览器由七部分组成:
①用户界面(User Interface) - 包括菜单栏、工具栏、地址栏、后退/前进按钮、书签目录等,也就是能看到的除了显示页面的主窗口之外的部分;
②浏览器引擎(Browser engine) - 用来查询及操作渲染引擎的接口;
③渲染引擎(Rendering engine) - 用来显示请求的内容,例如,如果请求内容为html,它负责解析html及css,并将解析后的结果显示出来;
④网络部分(Networking) - 主要用于网络调用,例如HTTP请求,其接口与平台无关,并为所有的平台提供底层实现;
⑤JS解释器(JavaScipt Interpreter) - 也可以称为JS内核,主要负责处理javascript脚本程序,一般会附带在浏览器之中,例如chrome的V8引擎;
⑥UI后端(UI Backend) - 用于绘制基本的窗口部件,比如组合框和窗口等;
⑦数据存储(Data Persistence) - 保存类似于cookie、storage等数据部分,HTML5新增了web database技术,一种完整的轻量级客户存储技术。
浏览器的结构如图所示:
二、浏览器内核(渲染引擎)
IE - Trident内核
Firefox - Gecko内核
Safari - Webkit内核
Chrome - Blink内核(Webkit内核的分支)
Opera - 旧版本使用的是Presto内核,新版本使用的是Blink内核