JS篇 <<Webkit技术内幕>>笔记

 

发展:

2003年    苹果发布Safari浏览器

2005年    Webkit项目开源,项目包括:WebCore、Javascript引擎、系统调用接口层等

2004年    Firefox浏览器发布

2008年    基于Webkit内核的Chromium项目启动

 

2010年    内部增加Webkit2子项目,类似于Blink思想,基于多进程的方式,分离浏览器接口调用层实现层(渲染层)

2013年    基于分歧,Google宣布独立运作Blink项目

 

Webkit渲染过程分为三个阶段:

1. 生成DOM树

  URL请求资源、DNS域名解析、TCP建立连接、数据传输完成、文本解析、资源加载(Script、CSS、图片等) 同步、异步问题、最终生成DOM树;

2. 生成RenderObject

  CSS文件解析、针对DOM各节点,附加RenderObject信息、生成RenderObject树、根据页面层次结构生成RenderLayer树

3. 绘制完成

  根据2D、3D图形库渲染(包括:CPU软件渲染、GPU硬件加速、混合渲染等)

 

浏览器多进程模型:

chrome浏览器进程

1. Browser进程

  针对浏览器界面、各页签的管理和响应;

2. Render进程

  根据不同的配置方式,Render进程数量也不同;如果是Process-per-site-instance,则每个页签对应一个Render进程;

  其他部分Render进程可能对应Chrome上安装的插件,如:SwitchSharp等,用户可通过chrome的任务管理器来看chrome提示的插件名称;

3. GPU进程:

  硬件加速的管理;

4. NPAPI进程(Netscape Plugin API)

  用于让浏览器执行外部程序;通过chrome://plugins/来查看;如:Chrome PDF Viewer、Adobe Flash Player 

 

域名解析:

  查看域名解析详情:chrome://net-internals/#dns,可以清空Host cache.

  查看http请求缓存:   chrome://view-http-cache/

  查看预取DNS的信息:  chrome://dns/

 

SPDY:

  SPDY(读作“SPeeDY”)是Google开发的基于TCP的应用层协议; 特点如下:

  1. 单个TCP连接支持并发的HTTP请求。

  2. 允许服务器在需要时发起对客户端的连接并推送数据。

 

资料:

书籍          <<Webkit技术内幕>>

Webkit官网      http://www.webkit.org/

Chromium官网    http://www.chromium.org

 

posted on 2015-01-07 15:40  diydyq  阅读(530)  评论(0编辑  收藏  举报

导航