罗生门!浏览器非法拉客?

14.07.2015  11:44

手机浏览器之间的明争暗斗持续已久,最近有人爆料,UC浏览器试图从QQ浏览器“拉客”。通俗地来讲就是UC误导了用户,试图打开只有用QQ浏览器才能打开的网页,造成了页面错误的结果。这种事情究竟是怎么发生的呢?

首先需要一些背景知识

1、网址的开头会有诸如XXXX://这样的字样,这被称为网络传输协议。服务器端和浏览器端的协议兼容,网页就会被顺利打开。

2、网络协议分为公开和私有两类,如大家熟悉的“Http://”开头的网址就属于公开的协议,理论上所有浏览器都可以打开。私有的协议内容不需要对外公开,只有服务器和浏览器两端协议兼容,才能打开网页。

3、如果安卓系统遇到私有协议的网页,就会向系统内安装的浏览器询问:诸位爱卿谁可以打开这个网页呢?

下面故事开始了。

浏览器拉客?

腾讯推出了其私有协议(以“qb://…”和“mttbrowser://…”开头),并且用此协议运载腾讯的手机页游或者站内网页等内容,并且理所当然地使自家的QQ浏览器可以解析这些网址。在安卓系统上,用户如果想玩某一款腾讯页游,系统会自然会询问哪个浏览器可以解析这个网页。此时本该是腾讯浏览器出来说:“臣妾可以做到。”但是,UC浏览器和QQ浏览器同时跳出来说自己可以做到,这时系统只好让用户来选择(事实证明其实UC并没有解析此网页的能力)。如果此时不明真相的用户选择了UC,那么将会指向一个空的页面。大部分用户会认为是网页错误,而不会怀疑是浏览器选择的问题。而且在用户首次选择了使用UC之后,很可能以后每次遇到同样的情况,系统都会默认执行第一次的选择,用户再也无法打开这些网页。

在安卓的规则下,各个App都需要向系统声明自己可以打开什么样的网页,而从UC向系统提交的声明中,可以看到腾讯专用的网页字段,通俗地来说,就是UC没有金刚钻,非要揽瓷器活,造成了用户的损失。

这件事可以称为“劫持”吗?

某网络安全企业高管向记者介绍,UC声明可以打开其他私有协议。有两种理解方式:

1、UC对外兼容,为了提高用户的体验,声明了所有的协议,这样做法的结果是:在UC浏览器浏览一切网页,UC都直接解析,毫不犹豫。(当然结果有可能是无法解析,出现错误。)

2、UC故意捣乱,只向系统声明了腾讯的协议,明知无法解析,还是要出来胡闹,把腾讯的流量引向自己。

这两种理解方式的区别在于,UC到底向系统声明了哪些协议。

下面我们看图

UC向安卓系统提交的协议声明

UC支持的协议全部都在图中了,除了公共协议,UC的私有协议之外,只有腾讯的私有协议。截图中最后一行的代码块为结束符,意思是,“皇上,我支持的协议都在这里啦。”可见UC此举似乎只是针对腾讯的浏览器。

这种行为算不算劫持呢?即使在互联网行业内部也存在众多说法。“这种行为没有用黑客手段,算不上典型的劫持协议,而只是滥用系统接口。”某安全领域的业内人士表达了这样的观点,这种做法并没有任何技术含量,而是非常恶心的不遵守规则。

他同时做了一个有趣的比喻:

从机场出口出来,有接机的人。穿红色衣服的乘客到举着红牌子的人所在的通道;而穿蓝衣服的乘客到举蓝色牌子的人所在的通道。而UC这个就是在一个通道中举了多种颜色的牌子,造成了识别混乱。然而他并没有把其他人的牌子抢走。

这种行为是行业潜规则吗?

那么究竟为什么UC浏览器要做这样的事情呢?某海外浏览器行业技术人士透露,对于浏览器App,考核的指标有两个:日活和收入。而在浏览器之间的竞争中,从这两个方向出发,就形成了“流量劫持”和“搜索劫持”两类并不光彩的竞争手段。前述人士同时表示,不排除是产品方面的人,为了业绩和考核,从而想出的“下策”。

不久前腾讯更新了QQ浏览器,并且推出了页游板块,腾讯表示,使用“QQ浏览器”是为平台上的手机页游打通社交及支付的链条,而且QQ浏览器的内核,保证了游戏的运行稳定和流畅。根据腾讯的说法,不难看出,腾讯认为只有自家的浏览器才能保证用户体验,因此要采取私有协议。

截至发稿,雷锋网并没有得到UC对此事的回应。然而,根据某接近UC浏览器人士的说法,声明对手的私有协议,是行业的潜规则。而且各家都在做类似的事情。那么究竟是否大家都在这么做呢?在安全技术人士的帮助下,雷锋网做了一个小实验。

做个小实验

手机同时安装UC浏览器和QQ浏览器,然后分别打开两组包含私有协议的网址。在点击UC私有协议的网址时,网页直接跳转到UC浏览器,这说明UC声明了对于自家协议的兼容,而腾讯的QQ浏览器并没有跳出来声明其可以打开这个网址。而在点击腾讯的协议时,有趣的事情发生了,UC果然跳出来,和腾讯一起声明可以打开。

从这个角度可以清晰地看到,UC浏览器对腾讯的协议进行了劫持,而腾讯并没有劫持UC的协议。那么,会不会是各家都以腾讯为目标,全都声明了腾讯的协议了呢?

让我们来看看其他浏览器有没有对QQ的协议进行劫持呢?雷锋网又同时在手机上安装了360浏览器、猎豹浏览器、搜狗浏览器、Chorm浏览器,与之前的UC浏览器和QQ浏览器并存。在点击腾讯协议时,仍然只有UC跳出来,与QQ浏览器“对峙”。从以上的实验开看,这种行为应该只是个别浏览器的行为,说是行业潜规则恐怕难以让人信服。

然而事情是这么简单吗?

根据UC方面的回应,UC浏览器10.4版本之前,对腾讯专用协议是可以解析的。而在腾讯某次升级之后,便出现了解析错误。这也侧面印证了为什么近期才会有人发现无法兼容的问题。可以判断,UC对于网页无法正确解析这件事也有些措手不及。主观上并没有想用劫持用户的方法来要挟对手。UC也表示将要尽快解决这一问题,争取在下一版本的更新中修复用户无法浏览的情况。如果无法修复,则会选择放弃支持腾讯的协议。

UC对于腾讯网页的跳转失败,其本质是由于腾讯采用了私有的协议,那么作为封闭方的腾讯是出于什么目的呢?雷锋网也采访到了腾讯方面的发言人。腾讯表示,以“qb://…”和“mttbrowser://…”开头的网址都是QQ浏览器专属内容资源的定位标识,只能使用内置相关支撑组件的QQ浏览器访问这些专属内容(游戏、视频和小说等)。其中,游戏基于QQ浏览器内置的游戏引擎,视频依赖内置播放器插件,小说依赖QQ浏览器私有加密协议(版权保护目的),等等。

对于此次事件,腾讯方面也表示:“应用软件向操作系统声明支持特定协议,是对操作系统、应用软件和用户的严肃承诺,蓄意干扰其它应用软件正常运行流程,损人不利己。

虽然表面看来,UC此举确实在一定程度上损害了QQ浏览器的商业利益。腾讯方面的声明也言辞激烈。但是同样值得思考的是,腾讯对于页游和视频等服务使用私有协议,其动机是出于商业竞争还是用户体验?如果不采用这种封闭的做法,是否会影响到腾讯为用户提供服务?

有互联网行业分析人士认为:从产品的进步角度来讲,开放是如今的趋势。而腾讯采用私有协议的方式,却宣告了一个封闭的态度,这种做法的合理性值得商榷。在这个角度上讲,刨去道德判断,把这次事件定义为商业竞争更加合适。

类似撕逼无处不在

其实在互联网产品的竞争中,类似的拉客并不是第一次,其中有很多也和UC相关。

早在UC的同门搜索“神马搜索”刚成立之时,由于UC把应用内的搜索更换成了“神马搜索”,就曾经和百度爆发过冲突。在UC浏览器内搜索百度贴吧等页面的时候,会弹出巨大的遮挡窗。而UC也曾就这件事发表过声明。

UC在2014年针对百度发布的声明

今年五月,“搜狗搜索”也被爆出劫持“神马搜索”的搜索结果,即使用神马搜索,结果却出现搜狗提供的结果。虽然这种情况被证明并没有被大面积爆发,时间的真凶也没有水落石出,却体现出了各个利益相关方的博弈态势。

某移动产品经理爆料,类似的劫持不止存在于浏览器和搜索领域,只要是相似的软件,都会有此类竞争。比如,一个无法打开PDF文件的软件,却宣称自己可以打开,造成了用户的使用问题。

探寻这些所谓“劫持”行为的本质,都是商业利益的博弈。商业判断和道德判断总会有差异,一位自身的互联网的安全人士评价道:“实际上用户还是有选择权的,App并没有强制用户,我觉得最恰当的评判就是——不优雅。