Upload
tony-deng
View
2.596
Download
0
Embed Size (px)
Citation preview
UC浏览器技术架构
TonyDenghttp://twitter.com/wolfdeng
http://friendfeed.com/tonydenghttp://delicious.com/wolf.denghttp://wolfchina.blogbus.com
UC联网流程
打开 UC
UC服务器接收请求后,根据用户提交的数据返回一个代理服务器( uc.ucweb.com)
向 UC的服务器请求代理服务器,其中 post的数据为加密后的数据
用户提交一个地址
在 HTTP Response的 Header中返回一个代理服务器( ucs6.tj.ucweb.com:8086)
是否有EXT:A:标志
代理服务器判断该页面是否为WAP页面
Wap网站,直接连接,客户端解析
代理服务器获取网页内容,并进行排版已经 javascipt执行等操作,然后压缩返回给 UC客户端
是
是
否
等待下一次操作
UC服务器信息
• ucus.ucweb.com – 获取用户信息,并返回代理服务器的服务器– 收集用户信息
• http://ucus.ucweb.com/usquery.php
– 为 UC浏览器分配相应的代理服务器– DNS轮询或分流,这两个 IP地址分别为天津联通和广州河源市联通
– Web服务器信息,使用的 Apache2.2.12
•
UC服务器信息
• wap.uc.cn– UC的wap主站,同时也是wap.ucweb.com– 更新客户端
• http://wap.uc.cn/ucpack/dlmobile/control/client_upgrade.php
– 同样也是天津与广州两地的机房
– Web service使用的是Apache
• • •
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
•
•
•
UC浏览器结构
WAP引擎 /图片解码 /压缩算法
URL 路由解析
HTTP协议解析
UI
页面渲染
缓存
显示层
引擎层
协议层