APP下载

基于Linux 操作系统的自主浏览器关键技术探析

2023-09-21贾靖仪

科学咨询 2023年13期
关键词:双核内核浏览器

贾靖仪

(长治职业技术学院,山西长治 046000)

目前,我国自主浏览器的市场占有率较低,很多软件开发厂商推出的浏览器产品只是对现有的IE、Firefox等进行修改,产品的兼容性存在很大问题。针对这一问题,开发人员要研发自主可控的浏览器,让基于Linux操作系统的浏览器能够稳定、安全地运行,实现用户访问系统的平滑过渡。目前,国产浏览器存在诸多问题,如开发技术落后、没有自主内核、过度商业化等,这些问题阻碍了我国自主浏览器的发展。本文从市场上常见的浏览器入手,对浏览器的市场份额进行分析,并对自主浏览器存在的问题进行总结,找出未来自主浏览器的发展方向,最后提出基于Linux操作系统自主浏览器关键技术的具体方案,希望对未来自主浏览器的设计与开发起到积极作用[1]。

一、自主浏览器的市场现状

(一)浏览器市场分析

目前,市场上常见的浏览器有:IE、Firefox、QQ浏览器、Safari、Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360浏览器、UC浏览器、傲游浏览器、世界之窗浏览器等。用户使用量最多的浏览器有五款,分别是IE、Firefox、Google Chrome、Safari、Opera。市面上同样也有许多双核浏览器。双核,也就是有着两个浏览器内核,但这并不意味着一个网页由两个内核渲染得出[2]。例如,一个核是正在用的内核,而另一个是作为备用。为了让用户能够享受新技术带来的浏览体验,浏览器厂商发明了“双核”这一浏览器模式,其中具有代表性的是搜狗浏览器、傲游浏览器、猎豹浏览器、QQ浏览器等。

(二)自主浏览器存在的问题

国产自主浏览器市场占有率低的原因有两个。第一,受到资金和技术条件限制,自主浏览器的开发难度较大,导致用户在使用过程中会遇到崩溃、卡顿等问题。第二,国内厂商对浏览器过度商业化,影响了用户体验。

从技术层面来说,目前,主流的浏览器都采用套壳Chrome的Chromium内核版本,并没有自主内核。内核是浏览器中最有技术含量的一环,它的核心作用是将网页内容正确地排版呈现在用户眼前。全球最主流的浏览器内核分别有Webkit、Trident以及Gecko。其中,Webkit是苹果公司的内核,被Safari浏览器使用,Chrome浏览器最初用的也是这一内核,之后又基于该内核推出了Blink内核。Trident是微软在Mosaic代码的基础之上修改而来的内核,用于IE浏览器。当前,Trident已经加大了对现代浏览器技术的支持,推出了用在Edge浏览器上的EdgeHTML内核。Gecko的代码则完全公开,主要是Firefox浏览器在使用[3]。

浏览器内核的开发周期长、技术门槛高、耗时耗力耗钱。正因为如此,一直以来,国产浏览器都没能实现内核方面的自主,从而使得自主浏览器发展缓慢。不仅如此,国产浏览器在没有自己核心算法加持的基础上,又进一步对流量和用户进行过度商业化。用户在使用过程中被强制推送一些广告内容,这必然降低了用户的使用体验。随着移动互联网的发展和智能手机生态的不断完善,整个互联网的竞争已经从网站、产品和服务进入到平台之间、生态之间的竞争。

浏览器作为一个全面的平台,包含了搜索、内分发、资讯内容和扫描等各项功能,因此,浏览器背后的竞争也可以看作互联网公司之间的竞争。这样的竞争下,国产浏览器开始把关注的重点放在“如何成为默认浏览器”上。在利益的驱使下,国产浏览器的各种“流氓行为”也开始层出不穷,桌面弹窗、首页广告、添加开机启动、修改默认浏览器、篡改浏览器主页、捆绑全家桶,这些行为应有尽有,让用户十分反感。

不仅如此,许多厂商纷纷把浏览器当成流量入口。为了把域内流量整合进浏览器中,许多厂商将浏览器做成信息聚合平台,例如,国产某浏览器里面植入了太多不属于浏览器本身的东西,像小说、新闻资讯、游戏等。360浏览器、QQ浏览器亦是如此。这些浏览器背后的厂商都想通过浏览器留存自家域内的流量,从而获取经济价值。这背离了浏览器发展的初心,最终导致用户体验下降[4]。

国产浏览器并没有提供友好的第三方开放平台,不像Chrome浏览器一样,与其他提供功能性插件的厂商进行合作,拥有丰富的插件系统。目前,很多用户对浏览器的选择十分挑剔,比如许多用户之所以选择Chrome浏览器,是因为它包括Flash广告屏蔽、网页截屏、图片采集、视频下载等功能。这些功能统统集中在Chrome浏览器里,用户并不需要安装第三方exe程序,使用起来十分方便。相比之下,国产浏览器在这一点上存在不足。很多国产的自主浏览器一味地让用户来消化自家的产品与生态,塞上合作网站的信息与内容,大量推送不相关的广告内容和新闻资讯,不与提供第三方功能性插件的平台进行合作。这导致用户体验感很差,转而选择其他浏览器,最后用户逐渐流失,市场份额下降。

(三)自主浏览器在未来的发展方向

国产浏览器要想重新获得市场,技术和商业模式是重心所在。事实上,谷歌、苹果之类的浏览器之所以被用户认可,主要在于他们的技术与设计。谷歌、苹果之类的浏览器在功能性、美观性、交互性等方面的设计做得非常好,用户在使用浏览器时,生理和心理都会得到满足。

在未来,国产浏览器需要学习其他厂商的优秀经验,不能单纯依靠浏览器本身实现商业目的,而要通过用户使用过程中所产生的行为数据,并基于这些行为数据对相关的广告与应用进行精准投放。例如,某位用户在使用浏览器的过程中产生了一系列数据,浏览器可以通过大数据技术对用户行为进行分析,了解用户的潜在需求,从而对用户进行精准化的广告投放。当然,这种精准的投放并不是基于浏览器本身,而是由浏览器所衍生出来的一系列应用程序、邮箱、其他依附的网站等实现的。浏览器厂商要通过相关的衍生平台对用户进行精准的广告投放。利用这种广告投放方式,一方面,厂商可以通过技术手段提前对用户的行为和潜在需求进行分析,增强客户投放广告的有效性和精准性;另一方面,又降低了用户的排斥感,用户通过这些投放的广告了解相关信息。因此,国内厂商对浏览器的定位应是把浏览器当作收集用户行为大数据的一个入口或渠道,而不是将其变成获取商业价值的核心。国产浏览器真正的核心应该是基于浏览器所获取的用户行为大数据,通过这些大数据进行变现,从而获取经济效益[5]。

我国拥有庞大的用户群体,这个数量级提炼出来的创新是足以影响浏览器技术标准的。国产浏览器应该在行业标准上夺取更多的话语权。国产浏览器厂商要加大对技术的研发投入,以用户需求为导向,以安全为核心,开发出符合国内用户习惯的浏览器,服务于用户,甚至服务于将来的国产操作系统,这样才能促进网络技术的创新与进步。

二、基于Linux 操作系统开发自主浏览器的关键技术分析

(一)双核浏览器的设计思路

目前,全球最主要的浏览器内核分别是Webkit、Trident以及Gecko。其中,Webkit是苹果公司的浏览器内核,被Safari浏览器所使用。Trident是微软在Mosaic代码的基础之上修改而来的内核,用于IE浏览器。当前,Trident已经增加了对现代浏览器技术的支持,推出了用在Edge浏览器上的EdgeHTML内核。Gecko的代码则完全公开,主要是Firefox浏览器在使用。Linux内核下的浏览器并不支持IE浏览器内核,我们需要对其进行扩展,从而使其能够支撑IE浏览器内核的使用。本文提出研制支撑Gecko和IE(Trident)这两种内核的双核浏览器,该浏览器能够兼容IE浏览器的内核,同时还能兼容ActiveX控件。双核浏览器的系统采用Linux系统上比较经典的Firefox作为基础开发平台,根据Firefox所提供的比较好的通用功能,让其能够支持Gecko内核。因此,对Trident引擎进行兼容是我们关注的重点。

1.Trident 内核引擎实现路线分析

实现Tirdent内核引擎的方法主要有两种,一是通过虚拟化技术在Linux系统中虚拟出Windows的运行环境,这需要在Linux下安装虚拟容器,如KVM和VMware。当浏览器厂商在虚拟机上安装Windows系统后,用户在进行业务访问时,业务系统就会通过虚拟机登录到Windows系统中进行操作,或者与IE浏览器进行交互。这种实现方法比较简单,技术要求不高,但是缺点是要提前安装Windows系统,要占用很多系统空间,其安全性也难以得到保障。在虚拟机中的Windows系统安全性较低,容易被攻击。因此,这种方式无法真正研发出双核浏览器。二是通过对Windows的IE浏览器进行Linux系统的重构,但是Trident并不开源,其无法实现在Linux操作系统下的重构,也无法实现真正基于Linux内核的双核浏览器的研发[6]。

2.双核浏览器架构设计

我们对Trident内核引擎的实现路线进行了分析,发现双核浏览器的架构设计需要采用Firefox作为主要引擎,通过采用IEtab+IEs4linux+Cabextract实现Trident引擎解决方案的架构。数据流回路如下:(1)用户通过Linux操作系统下的Firefox浏览器浏览支撑IE浏览器的网站。(2)Firefox通过调用IEtab插件,把用户在浏览器使用过程中所产生的请求发送到Ies4linux。(3)IEs4linux将用户所提出的请求传递到浏览器底层的Cabextract。(4)Cabextract调动IE内核,对cab文件进行解析等操作,并让IE启动进程,用以执行用户在网站上进行的业务访问操作。(5)将最终操作的结果通过逐层传递上传到Firefox浏览器上。

整体架构涉及几个软件,这些软件分别是Firefox、IEtab、IEs4linux、Cabextact,这几个软件需要进行集体封装。为了使用户在使用浏览器的过程中有更好的体验,我们需要对这些开源组件进行分别部署,从而实现组件的高层集成。

完整的浏览器系统分为两部分,一是新浏览器,它继承了IEtab插件,将IEtab插件作为其扩展功能;二是该IE内核虚化系统直接将集成IEs4linux、Cabextract和已经安装好的IE作为底层虚拟化系统,使Linux的消息与新架构的双核浏览器进行交互。

(二)双核浏览器的安全防护措施

1.沙箱防护措施

沙箱防护的安全防护措施是目前比较常用的浏览器安全防护措施之一,这种防护措施能够让双核浏览器在用户浏览过程中,多标签之间互相隔离,每一个标签独立运行,避免出现多标签情况下单一标签崩溃导致的浏览器崩溃或系统崩溃的情况,提高了浏览器的可靠性。此外,浏览器的双核分别运行在具备基本运行环境的容器中,相对形成了封闭的沙箱。这种沙箱是通过容器和虚拟化技术搭建而成的,如果有外部恶意攻击或有病毒感染,浏览器可以通过虚拟化技术或者容器的备份技术对数据进行还原,从而对恶意攻击和病毒感染进行源头防护。例如,浏览器所采用的Trident内核有多个版本,每个版本之间的安全漏洞积累不同,如果浏览器采用常规的安全防护手段,就需要与微软公司沟通解决,开发者需要投入的资金和精力相对较高。因此,沙箱防护的技术能够从源头进行安全防护,降低了安全成本,提升了浏览器的安全性和防护能力。

2.浏览器自身的安全保护措施

双核浏览器的安全防护相较于其他浏览器有相同之处,也有不同之处。双核浏览器通过服务端对安全的黑白名单进行管理,做好来访用户的安全访问控制,提高安全性。浏览器本身的虚拟化技术能够虚拟运行环境,一旦浏览器的运行环境被破坏,我们还可以对数据进行备份,以恢复运行环境。这种方式与沙箱的机制比较类似。此外,SWT的Browser控件能够对病毒和恶意网站进行筛查与过滤。在用户访问网站的过程中,Browser控件会提前对网页内容进行审查,如果网站具有安全隐患,控件会对用户进行告知,并询问用户是否要继续访问该网站,从而提高浏览器的安全性。

三、结束语

我国拥有庞大的用户群体,自主研发浏览器应该在行业标准上夺取更多的话语权,然后服务于用户。研发基于Linux操作系统的自主可控浏览器是响应维护国家网络安全的需要。目前,针对我国自主浏览器关键技术的研究需要相关开发者加大关注,在满足用户需求的基础上,增强浏览器的安全性与可靠性。国产浏览器厂商只有以用户需求为导向,为用户提供更好的服务,才能让国产自主浏览器不断发展、不断进步。

猜你喜欢

双核内核浏览器
全球金融“F20”在此召开!横沥进入“双核”时代
强化『高新』内核 打造农业『硅谷』
反浏览器指纹追踪
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
微生物内核 生态型农资
环球浏览器
新型夹心双核配和物[Zn2(ABTC)(phen)2(H2O)6·2H2O]的合成及其荧光性能
三螺旋N-N桥连的双核Co(Ⅲ)配合物的合成、结构和性质
一个双核β-二酮镝(Ⅲ)配合物的超声化学合成、晶体结构和磁性