Web/01-HTML/02-浏览器的介绍.md
2021-10-30 00:38:12 +08:00

113 lines
4.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 02-浏览器的介绍
publish: true
---
<ArticleTopAd></ArticleTopAd>
## 常见的浏览器
浏览器是网页运行的平台常见的浏览器有谷歌ChromeSafari火狐FirefoxIEEdgeOpera等如下图所示
![](http://img.smyhvae.com/20191204_1900.png)
我们重点需要学习的是 Chrome 浏览器
## 浏览器的市场占有份额
浏览器的市场占有份额<https://tongji.baidu.com/research/site?source=index#browser>
![](http://img.smyhvae.com/20200322_1058.png)
上面这张图的统计时间是2020年2月
## 浏览器的组成
浏览器分成两部分
- 1渲染引擎浏览器内核
- 2JS 引擎
### 1渲染引擎浏览器内核
浏览器所采用的渲染引擎也称之为浏览器内核用来解析 HTML与CSS渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息
**渲染引擎是浏览器兼容性问题出现的根本原因**
渲染引擎的英文叫做 Rendering Engine通俗来说它的作用就是读取网页内容计算网页的显示方式并显示在页面上
常见浏览器的内核如下
|浏览器 | 内核|
|:-------------:|:-------------:|
| chrome | Blink |
| 欧鹏 | Blink |
|360安全浏览器| Blink|
|360极速浏览器| Blink|
|Safari|Webkit|
|Firefox 火狐|Gecko|
|IE| Trident |
备注360的浏览器以前使用的IE浏览器的Trident内核但是现在已经改为使用 chrome 浏览器的 Blink内核
另外移动端的浏览器内核是什么大家可以自行查阅资料
### 2JS 引擎
也称为 JS 解释器 用来解析网页中的JavaScript代码对其处理后再运行
浏览器本身并不会执行JS代码而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 JS 引擎执行代码时会逐行解释每一句源码转换为机器语言然后由计算机去执行所以 JavaScript 语言归为脚本语言会逐行解释执行
常见浏览器的 JS 引擎如下
|浏览器 | JS 引擎|
|:-------------:|:-------------|
|chrome / 欧鹏 | V8 |
|Safari|Nitro|
|Firefox 火狐|SpiderMonkey1.0-3.0/ TraceMonkey3.5-3.6/ JaegerMonkey4.0-|
|Opera|Linear A4.0-6.1/ Linear B7.0-9.2/ Futhark9.5-10.2/ Carakan10.5-|
|IE|Trident |
参考链接
- [主流浏览器内核及JS引擎](https://juejin.im/post/5ada727c518825670b33a584)
## 浏览器工作原理
> 这一小段有些深入小白可以暂时跳过以后学习JS的时候再回来看
浏览器主要由下面这个七个部分组成
![](http://img.smyhvae.com/20180124_1700.png)
1User InterfaceUI界面包括地址栏前进/后退按钮书签菜单等也就是浏览器主窗口之外的其他部分
2Browser engine 浏览器引擎用来查询和操作渲染引擎是UI界面和渲染引擎之间的**桥梁**
3Rendering engine渲染引擎用于解析HTML和CSS并将解析后的内容显示在浏览器上
4Networking 网络模块用于发送网络请求
5JavaScript InterpreterJavaScript解析器用于解析和执行 JavaScript 代码
6UI BackendUI后端用于绘制组合框弹窗等窗口小组件它会调用操作系统的UI方法
7Data Persistence数据存储模块比如数据存储 cookieHTML5中的localStoragesessionStorage
参考链接关于浏览器的工作管理下面这篇文章是精品中的精品是必须要知道的
- 英文版[How Browsers Work: Behind the scenes of modern web browsers](https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/)
- 中文版[浏览器的工作原理新式网络浏览器幕后揭秘](https://www.html5rocks.com/zh/tutorials/internals/howbrowserswork/)
---
本作品采用[知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议](https://creativecommons.org/licenses/by-nc-sa/4.0/)进行许可。
![](https://img.smyhvae.com/20210329_1930.png)