深入理解浏览器内核 - 概述

简介: 深入理解浏览器内核 - 概述

  继"汉芯"事件造假之后,近期"红芯"浏览器事件可谓炙手可热。【深入理解浏览器内核】系列文章将会和大家一起来深入理解浏览器的内核,揭开浏览器神秘的面纱。

科学研究很多情况下都需要大量的计算,从科学家的心算到开始借助外部工具实现计算。外部工具从最初的纸和笔、计算器、再到图灵机,发现还是无法满足大规模的计算需求,因此需要一种计算能力更强的外部工具来实现科学计算,电子计算机在此背景下应运而生。

1946年诞生了世界上第一台现代电子计算机ENIAC,该计算机相对于之前的计算设备来说计算速度提升了很多,但是造价非常昂贵、占地面积大、操作难度大等缺点。

随着科学的不断进步,科学研究需要的计算能力越来越强。虽然一台电子计算机的计算能力很强,但还是十分有限,因此迫切需要多台电子计算机的计算能力。如何让多台电子计算机协同工作,实现互联互通,完成数据传输和共享,由此诞生了互联网。将电子计算机连接起来,通过TCP/IP协议簇完成互联互通,实现数据传输。

随着硬件和软件技术的不断发展,电子计算机的计算速度越来越快,体积越来越小,尤其是引入桌面操作系统后,电子计算机的操作越来越便捷,电子计算机的功能也由最初的科学计算拓展为学习、娱乐等更多方面。此时电子计算机进入了PC时代,即每个普通的用户都可以使用电子计算机。随着使用电子计算机的用户不断增加,互联网上产生的信息资源也越来越多。如何让互联网上的用户快速实现信息资源共享,便捷的访问互联网上的各种资源,由此诞生了万维网WWW(World Wide Web)

万维网通过统一资源定位符URL来标识互联网上的每一个信息资源,借助HTTP协议完成互联网信息资源的传输。万维网将世界各地的信息资源连接在一起,编织了一张庞大的信息资源网,我们如何进入这张网,答案就是浏览器。

(Q1: 互联网和万维网的区别是什么?)

浏览器是万维网的入口,是我们获取互联网信息资源的重要工具,因此各大厂商都推出了自己的浏览器,抢占互联网信息的入口。日常生活中大家熟知的浏览器有微软IE浏览器、谷歌浏览器、360浏览器、搜狗浏览器、QQ浏览器等众多浏览器。

那么这些浏览器软件是如何开发出来的呢?每个厂商都各自独立完成开发吗?平时听说的双核浏览器是什么意思?

浏览器简单来说主要由内核和插件组成。插件顾名思义就是基于内核之上的一些扩展功能,如360浏览器比较著名的12306抢票插件,常见的内核有GeckoTridentWebKitBlink等,且这些内核大部分都是开源的,如WebKit。因此一般的浏览器开发都是基于现有的内核来做二次开发,增加一些扩展功能。

平时大家所说的双核浏览器指的就是这个浏览器有两个内核,如WebKitTrident为什么需要两个内核呢?大家平时在生活学习中会发现,有些网站用微软的IE浏览器访问会正常显示,但是如果用其他浏览器访问的话,网页就会错位、显示不全或无法显示。这个现象表示当前网站只支持微软的内核Trident,不支持其他内核,因此多内核浏览器可以实现更多网站的正常访问,这个内核显示有问题,就换一个其他内核。

(Q2: 同样的HTML代码,为什么不同的内核显示会有所差别呢?)

因此,对于浏览器来说,内核是其核心组成部分。浏览器的内核作用是什么,有哪些模块组成?如想了解更多,欢迎持续关注本系列博客。

目录
相关文章
|
存储 缓存 前端开发
浏览器缓存机制(一):概述
浏览器缓存机制(一):概述
137 0
|
存储 缓存 Android开发
【精简版】浏览器渲染机制(完整流程概述)(下)
【精简版】浏览器渲染机制(完整流程概述)(下)
339 0
|
存储 JavaScript 前端开发
【精简版】浏览器渲染机制(完整流程概述)(上)
【精简版】浏览器渲染机制(完整流程概述)(上)
260 0
|
存储 SQL 缓存
浏览器数据库 IndexedDB(一) 概述
IndexedDB 就是浏览器提供的本地数据库,它可以被网页脚本创建和操作。
506 0
浏览器数据库 IndexedDB(一) 概述
|
Web App开发 缓存 移动开发
57、浏览器环境概述
网页中嵌入 JavaScript 代码,主要有四种方法。 • <script>元素直接嵌入代码。 • <script>标签加载外部脚本 • 事件属性 • URL 协议
143 0
|
13天前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
10天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
除了调用API接口使用Transformer技术,你是否想过在浏览器中运行大模型?Xenova团队推出的Transformer.js,基于JavaScript,让开发者能在浏览器中本地加载和执行预训练模型,无需依赖服务器。该库利用WebAssembly和WebGPU技术,大幅提升性能,尤其适合隐私保护、离线应用和低延迟交互场景。无论是NLP任务还是实时文本生成,Transformer.js都提供了强大支持,成为构建浏览器AI应用的核心工具。
415 1
|
30天前
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
89 0