6
UC 浏浏浏浏浏浏浏 TonyDeng http://twitter.com/wolfdeng http://friendfeed.com/tonydeng http://delicious.com/wolf.deng http://wolfchina.blogbus.com

Uc浏览器技术架构

Embed Size (px)

Citation preview

Page 1: Uc浏览器技术架构

UC浏览器技术架构

TonyDenghttp://twitter.com/wolfdeng

http://friendfeed.com/tonydenghttp://delicious.com/wolf.denghttp://wolfchina.blogbus.com

Page 2: Uc浏览器技术架构

UC联网流程

打开 UC

UC服务器接收请求后,根据用户提交的数据返回一个代理服务器( uc.ucweb.com)

向 UC的服务器请求代理服务器,其中 post的数据为加密后的数据

用户提交一个地址

在 HTTP Response的 Header中返回一个代理服务器( ucs6.tj.ucweb.com:8086)

是否有EXT:A:标志

代理服务器判断该页面是否为WAP页面

Wap网站,直接连接,客户端解析

代理服务器获取网页内容,并进行排版已经 javascipt执行等操作,然后压缩返回给 UC客户端

等待下一次操作

Page 3: Uc浏览器技术架构

UC服务器信息

• ucus.ucweb.com – 获取用户信息,并返回代理服务器的服务器– 收集用户信息

• http://ucus.ucweb.com/usquery.php

– 为 UC浏览器分配相应的代理服务器– DNS轮询或分流,这两个 IP地址分别为天津联通和广州河源市联通

– Web服务器信息,使用的 Apache2.2.12

Page 4: Uc浏览器技术架构

UC服务器信息

• wap.uc.cn– UC的wap主站,同时也是wap.ucweb.com– 更新客户端

• http://wap.uc.cn/ucpack/dlmobile/control/client_upgrade.php

– 同样也是天津与广州两地的机房

– Web service使用的是Apache

• • •

Page 5: Uc浏览器技术架构

UC服务器信息• ucs[0-9].tj[gz].ucweb.com

– UC的代理服务器群,ucs后面的数字可以是任意的,天津和广州各有一个这样的集群– 负责将UC浏览器请求的web页面渲染和解析成相应机型适合的浏览器可以查看的页面,然后压缩后返回浏览器

– UC浏览器和UC自己的代理之间的协议是内部的不加密只压缩。• java用的gzip • 其他平台6.2之前用的也是gzip

– 使用了TwistedWeb(python)来做请求代理• http://www.twistedmatrix.com

Page 6: Uc浏览器技术架构

UC浏览器结构

WAP引擎 /图片解码 /压缩算法

URL 路由解析

HTTP协议解析

UI

页面渲染

缓存

显示层

引擎层

协议层