浏览器应有的功能
网络:浏览器通过网络模块下载各式各样的资源,例如html文本,javascript代码,样式表,图片,音视频文件等。
网络部分本质上十分重要,因为它耗时唱,而且需要安全访问互联网上的资源。
资源管理:从网络下载,或者本地获取到的资源需要有高效的机制来管理它们。
例如如何避免重复下载,资源如何缓存等。
网页浏览:
这是浏览器的核心也是最基本的功能,最重要的功能。
如何将资源转变为可视化的结果。
多页面管理
插件与管理
账户和同步
安全机制
开发者工具
。。。
浏览器的只要功能总结起来就是一句话:将用户输入的url转变为可视化的图像,
1:从url到dom树
2:从dom树到可视化图像
这两个过程之间的关系并没有那么明确,我们可以统称这两个过程为页面的渲染。
浏览器的内核(渲染引擎)
在浏览器中有一个最重要的模块,它主要的作用是将页面转变为可视化的图像结果。
这个模块就是浏览器内核,通常它也被称为渲染引擎。
IE:Trident
Safari:WebKit
WebKit本身主要是由两个引擎构成的,一个正是渲染引擎“WebCore”,另一个则是jacascript解释引擎"JSCore",
它们均是从KDE的渲染引擎KHTML及javascript解释引擎KJS衍生而来。
Chrome:WebKit的分支引擎----Blink
在13年发布的Chrome 28.0.1469.0版本开始,Chome放弃Chromium引擎转而使用最新的Blink引擎(基于WebKit2--苹果公司于2010年推出的新的WebKit引擎),Blink对比上一代的引擎精简了代码、改善了DOM框架,也提升了安全性。
Opera
旧版Opera 4至6版本:Elektra排版引擎
Opera7.0 :Presto渲染引擎
Opera在2013年2月宣布放弃Presto
采用Chromium引擎
又转为Blink引擎
Firefox:Gecko
进城与线程