手机浏览器之间的明争暗斗持续已久,最近有人爆料,UC浏览器最近被爆在打开腾讯旗下的一些网页链接时,并不能够打开网页,而是会跳转到建议下载QQ浏览器的页面。这种事情究竟是怎么发生的呢?
首先需要一些背景知识
1、网址的开头会有诸如XXXX://这样的字样,这被称为网络传输协议。服务器端和浏览器端的协议兼容,网页就会被顺利打开。
2、网络协议分为公开和私有两类,如大家熟悉的“Http://”开头的网址就属于公开的协议,理论上所有浏览器都可以打开。私有的协议内容不需要对外公开,只有服务器和浏览器两端协议兼容,才能打开网页。
3、如果安卓系统遇到私有协议的网页,就会向系统内安装的浏览器询问:诸位爱卿谁可以打开这个网页呢?
下面故事开始了。
浏览器拉客?
腾讯推出了其私有协议(以“qb://…”和“mttbrowser://…”开头),并且用此协议运载腾讯的手机页游或者站内网页等内容,并且理所当然地使自家的QQ浏览器可以解析这些网址。在安卓系统上,用户如果想玩某一款腾讯页游,系统会自然会询问哪个浏览器可以解析这个网页。此时本该是腾讯浏览器出来说:“臣妾可以做到。”但是,UC浏览器和QQ浏览器同时跳出来说自己可以做到,这时系统只好让用户来选择(而近期UC浏览器并不能正常打开此网页)。如果此时不明真相的用户选择了UC,那大部分用户会认为是网页错误,而不会怀疑是浏览器选择的问题。而且在用户首次选择了使用UC之后,很可能以后每次遇到同样的情况,系统都会默认执行第一次的选择,用户再也无法打开这些网页。
在安卓的规则下,各个App都需要向系统声明自己可以打开什么样的网页,而从UC向系统提交的声明中,可以看到腾讯专用的网页字段。
这件事可以称为“劫持”吗?
UC到底向系统声明了哪些协议呢?
下面我们看图
UC向安卓系统提交的协议声明
UC支持的协议全部都在图中了,除了公共协议,UC的私有协议之外,只有腾讯的私有协议。截图中最后一行的代码块为结束符,意思是,“皇上,我支持的协议都在这里啦。”可见UC此举似乎只是针对腾讯的浏览器。
这种行为算不算劫持呢?即使在互联网行业内部也存在众多说法。“这种行为没有用黑客手段,算不上典型的劫持协议,而只是滥用系统接口。”某安全领域的业内人士表达了这样的观点,这种做法并没有任何技术含量,而是“非常恶心的不遵守规则”。
他同时做了一个有趣的比喻:
从机场出口出来,有接机的人。穿红色衣服的乘客到举着红牌子的人所在的通道;而穿蓝衣服的乘客到举蓝色牌子的人所在的通道。而UC这个就是在一个通道中举了多种颜色的牌子,造成了识别混乱。然而他并没有把其他人的牌子抢走。
这种行为是行业潜规则吗?
那么究竟为什么UC浏览器要做这样的事情呢?某海外浏览器行业技术人士透露,对于浏览器App,考核的指标有两个:日活和收入。不排除是产品方面的人,为了业绩和考核,从而想出的“下策”。
不久前腾讯更新了QQ浏览器,并且推出了页游板块,腾讯表示,使用“QQ浏览器”是为平台上的手机页游打通社交及支付的链条,而且QQ浏览器的内核,保证了游戏的运行稳定和流畅。根据腾讯的说法,不难看出,腾讯认为只有自家的浏览器才能保证用户体验,因此要采取私有协议。
根据UC方面的回应,UC浏览器在10.4版本之前,对腾讯专用协议是可以解析的。而在腾讯某次升级之后,便出现了解析错误。这也侧面印证了为什么近期才会有人发现无法兼容的问题。可以判断,UC对于网页无法正确解析这件事也有些措手不及。UC也表示将要尽快解决这一问题,争取在下一版本的更新中修复用户无法浏览的情况。如果无法修复,则会选择放弃支持腾讯的协议。
根据某接近UC浏览器人士的说法,声明对手的私有协议,是行业的潜规则。而且各家都在做类似的事情。那么究竟是否大家都在这么做呢?在安全技术人士的帮助下,雷锋网做了一个小实验。
做个小实验
手机同时安装UC浏览器和QQ浏览器,然后分别打开两组包含私有协议的网址。在点击UC私有协议的网址时,网页直接跳转到UC浏览器,这说明UC声明了对于自家协议的兼容,而腾讯的QQ浏览器并没有跳出来声明其可以打开这个网址。而在点击腾讯的协议时,有趣的事情发生了,UC果然跳出来,和腾讯一起声明可以打开。
从这个角度可以清晰地看到,UC浏览器试图去支持腾讯的私有协议,而腾讯并没有尝试支持UC的私有协议。那么,会不会是各家都以腾讯为目标,全都声明了腾讯的协议了呢?
让我们来看看其他浏览器有没有对QQ的协议做特定的动作呢?雷锋网又同时在手机上安装了360浏览器、猎豹浏览器、搜狗浏览器、Chorm浏览器,与之前的UC浏览器和QQ浏览器并存。在点击腾讯协议时,仍然只有UC跳出来,与QQ浏览器“对峙”。从以上的实验开看,这种行为应该只是个别浏览器的行为,说是行业潜规则恐怕难以让人信服。
然而事情是这么简单吗?
UC对于腾讯网页的跳转失败,其本质是由于腾讯采用了私有的协议,那么作为封闭方的腾讯是出于什么目的呢?雷锋网也采访到了腾讯方面的发言人。腾讯表示,以“qb://…”和“mttbrowser://…”开头的网址都是QQ浏览器专属内容资源的定位标识,只能使用内置相关支撑组件的QQ浏览器访问这些专属内容(游戏、视频和小说等)。其中,游戏基于QQ浏览器内置的游戏引擎,视频依赖内置播放器插件,小说依赖QQ浏览器私有加密协议(版权保护目的),等等。
对于此次事件,腾讯方面也表示:“应用软件向操作系统声明支持特定协议,是对操作系统、应用软件和用户的严肃承诺,蓄意干扰其它应用软件正常运行流程,损人不利己。”
虽然表面看来,UC此举确实在一定程度上损害了QQ浏览器的商业利益。腾讯方面的声明也言辞激烈。但是同样值得思考的是,腾讯对于页游和视频等服务使用私有协议,其动机是出于商业竞争还是用户体验?如果不采用这种封闭的做法,是否会影响到腾讯为用户提供服务?
有互联网行业分析人士认为:从产品的进步角度来讲,开放是如今的趋势。而腾讯采用私有协议的方式,却宣告了一个封闭的态度,这种做法的合理性值得商榷。在这个角度上讲,刨去道德判断,把这次事件定义为商业竞争更加合适。
类似撕逼无处不在
其实在互联网产品的竞争中,类似的拉客并不是第一次,其中有很多也和UC相关。
早在UC的同门搜索“神马搜索”刚成立之时,由于UC把应用内的搜索更换成了“神马搜索”,就曾经和百度爆发过冲突。在UC浏览器内搜索百度贴吧等页面的时候,会弹出巨大的遮挡窗。而UC也曾就这件事发表过声明。
UC在2014年针对百度发布的声明
今年五月,“搜狗搜索”也被爆出劫持“神马搜索”的搜索结果,即使用神马搜索,结果却出现搜狗提供的结果。虽然这种情况被证明并没有被大面积爆发,时间的真凶也没有水落石出,却体现出了各个利益相关方的博弈态势。
某移动产品经理爆料,类似的劫持不止存在于浏览器和搜索领域,只要是相似的软件,都会有此类竞争。比如,一个无法打开PDF文件的软件,却宣称自己可以打开,造成了用户的使用问题。
探寻这些所谓“劫持”行为的本质,都是商业利益的博弈。商业判断和道德判断总会有差异,一位自身的互联网的安全人士评价道:“实际上用户还是有选择权的,App并没有强制用户,我觉得最恰当的评判就是——不优雅。”
在雷锋网稿件发出后当日,我们收到了来自UC的声明,原文如下:
首先,我们认为互联网上的每一个网页,只要内容合法,用户有权选择使用任何一种浏览器来打开。其次,手机浏览器是一个开放的平台和产品,我们也不应限制UC浏览器用户访问任何一个互联网网页。因此,只要用户有访问的需求,我们就支持尽可能多的网页与协议,让用户得到更开放全面的使用体验。
因此,UC浏览器尝试支持所有互联网协议。两个月前,经过多次测试,UC浏览器可以支持并打开使用QQ浏览器“qb/mttbrowser”协议的相关网页,且可以给用户提供几乎无差别的使用体验,因此,我们在UC浏览器10.5版本中对安卓系统声明了对此协议的支持,让用户在打开此类页面时,可自由选择使用哪个浏览器进行打开。整个过程不存在任何强制环节。
令人遗憾的是,近日有媒体反馈和测试,上述网页目前使用UC浏览器已经无法打开。经排查,系腾讯公司限制了UC浏览器用户对此类内容的访问,导致UC浏览器无法打开此类网页。我们非常抱歉,由于腾讯公司坚持封闭,拒绝UC浏览器用户访问的行为,我们无奈只能在下一版本中取消对QQ浏览器“qb/mttbrowser”协议的支持。
浏览器推出私有协议,是为了让用户针对某些网页访问时有更好的用户体验,而不是出于商业竞争、打击对手的考虑,人为限制用户选择权,保证用户仅能使用自己的产品打开某些网页。比如UC浏览器与手机网页下载相关的私有协议,是为了帮助用户获得更好的手机在线下载体验而开发。该协议从未限制甚至非常欢迎包括QQ浏览器在内的其他浏览器厂商进行支持,以帮助更广大用户获得更好、更开放的浏览体验。