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

 

转载于:https://www.cnblogs.com/diydyq/p/4208609.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值