继"汉芯"事件造假之后,近期"红芯"浏览器事件可谓炙手可热。【深入理解浏览器内核】系列文章将会和大家一起来深入理解浏览器的内核,揭开浏览器神秘的面纱。
科学研究很多情况下都需要大量的计算,从科学家的心算到开始借助外部工具实现计算。外部工具从最初的纸和笔、计算器、再到图灵机,发现还是无法满足大规模的计算需求,因此需要一种计算能力更强的外部工具来实现科学计算,电子计算机在此背景下应运而生。
1946年诞生了世界上第一台现代电子计算机ENIAC,该计算机相对于之前的计算设备来说计算速度提升了很多,但是造价非常昂贵、占地面积大、操作难度大等缺点。
随着科学的不断进步,科学研究需要的计算能力越来越强。虽然一台电子计算机的计算能力很强,但还是十分有限,因此迫切需要多台电子计算机的计算能力。如何让多台电子计算机协同工作,实现互联互通,完成数据传输和共享,由此诞生了互联网。将电子计算机连接起来,通过TCP/IP协议簇完成互联互通,实现数据传输。
随着硬件和软件技术的不断发展,电子计算机的计算速度越来越快,体积越来越小,尤其是引入桌面操作系统后,电子计算机的操作越来越便捷,电子计算机的功能也由最初的科学计算拓展为学习、娱乐等更多方面。此时电子计算机进入了PC时代,即每个普通的用户都可以使用电子计算机。随着使用电子计算机的用户不断增加,互联网上产生的信息资源也越来越多。如何让互联网上的用户快速实现信息资源共享,便捷的访问互联网上的各种资源,由此诞生了万维网WWW(World Wide Web)。
万维网通过统一资源定位符URL来标识互联网上的每一个信息资源,借助HTTP协议完成互联网信息资源的传输。万维网将世界各地的信息资源连接在一起,编织了一张庞大的信息资源网,我们如何进入这张网,答案就是浏览器。
(Q1: 互联网和万维网的区别是什么?)
浏览器是万维网的入口,是我们获取互联网信息资源的重要工具,因此各大厂商都推出了自己的浏览器,抢占互联网信息的入口。日常生活中大家熟知的浏览器有微软IE浏览器、谷歌浏览器、360浏览器、搜狗浏览器、QQ浏览器等众多浏览器。
那么这些浏览器软件是如何开发出来的呢?每个厂商都各自独立完成开发吗?平时听说的双核浏览器是什么意思?
浏览器简单来说主要由内核和插件组成。插件顾名思义就是基于内核之上的一些扩展功能,如360浏览器比较著名的12306抢票插件,常见的内核有Gecko、Trident、WebKit、Blink等,且这些内核大部分都是开源的,如WebKit。因此一般的浏览器开发都是基于现有的内核来做二次开发,增加一些扩展功能。
平时大家所说的双核浏览器指的就是这个浏览器有两个内核,如WebKit和Trident。为什么需要两个内核呢?大家平时在生活学习中会发现,有些网站用微软的IE浏览器访问会正常显示,但是如果用其他浏览器访问的话,网页就会错位、显示不全或无法显示。这个现象表示当前网站只支持微软的内核Trident,不支持其他内核,因此多内核浏览器可以实现更多网站的正常访问,这个内核显示有问题,就换一个其他内核。
(Q2: 同样的HTML代码,为什么不同的内核显示会有所差别呢?)
因此,对于浏览器来说,内核是其核心组成部分。浏览器的内核作用是什么,有哪些模块组成?如想了解更多,欢迎持续关注本系列博客。