小宋爱睡觉 小宋爱睡觉
首页
  • HTML
  • CSS
  • JavaScript
  • Vue
  • React
  • 计算机网络
  • 浏览器原理
  • 性能优化
  • 设计模式
手写系列
  • 字符串
  • 数组
  • 链表
  • 树
  • 动态规划
  • 排序算法
  • GitHub (opens new window)
  • JueJin (opens new window)
首页
  • HTML
  • CSS
  • JavaScript
  • Vue
  • React
  • 计算机网络
  • 浏览器原理
  • 性能优化
  • 设计模式
手写系列
  • 字符串
  • 数组
  • 链表
  • 树
  • 动态规划
  • 排序算法
  • GitHub (opens new window)
  • JueJin (opens new window)
  • 网络攻击与防范
  • 进程和线程
  • 浏览器缓存
  • 浏览器的存储
  • 浏览器的渲染原理
  • 浏览器的同源策略
  • 浏览器的事件循环
  • 浏览器的垃圾回收机制
  • 浏览器组成
    • 对浏览器的理解
    • 对浏览器内核的理解
    • 一些主流浏览器的内核
    • 浏览器的主要组成部分
  • 浏览器原理
Crucials
2021-12-13

浏览器组成

# 浏览器组成

⚠️

我觉得我作为一名不太合格的八股文选手对于浏览器组成的侧重点也不多,仅仅摘录了一些

# 对浏览器的理解

浏览器的功能就是将用户选择的web资源呈现出来,资源的格式通常是html,也包括PDF和image,用户通过URL(统一资源标识符)来指定请求资源的位置。浏览器分为两部分,shell和内核

  • shell是指浏览器的外壳,例如菜单,工具栏等,主要是提供给用户界面操作,参数设置等等,他是调用内核来实现各种功能的
  • 内核是浏览器的核心。内核是基于标记语言显示内容的程序或模块

# 对浏览器内核的理解

浏览器内核主要分成两部分:

  • 渲染引擎的职责就是渲染,即在浏览器窗口中显示所请求的内容。默认情况下,渲染引擎可以显示 html、xml 文档及图片,它也可以借助插件显示其他类型数据,例如使用 PDF 阅读器插件,可以显示 PDF 格式。
  • JS 引擎:解析和执行 javascript 来实现网页的动态效果。

最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎

# 一些主流浏览器的内核

  • IE 浏览器内核:Trident 内核,也是俗称的 IE 内核

  • Chrome 浏览器内核:统称为 Chromium 内核或 Chrome 内核,以前是 Webkit 内核,现在是 Blink内核

  • Firefox 浏览器内核:Gecko 内核,俗称 Firefox 内核

  • Safari 浏览器内核:Webkit 内核

  • Opera 浏览器内核:最初是自己的 Presto 内核,后来加入谷歌大军,从 Webkit 又到了 Blink 内核

  • 360浏览器、猎豹浏览器内核:IE + Chrome 双内核

  • 搜狗、遨游、QQ 浏览器内核:Trident(兼容模式)+ Webkit(高速模式)

  • 百度浏览器、世界之窗内核:IE 内核

  • 2345浏览器内核:好像以前是 IE 内核,现在也是 IE + Chrome 双内核了

  • UC 浏览器内核:这个众口不一,UC 说是他们自己研发的 U3 内核,但好像还是基于 Webkit 和 Trident

依我愚见

个人感觉重要的粗体那仨

# 浏览器的主要组成部分

  • ⽤户界⾯ 包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗⼝显示的您请求的⻚⾯外,其他显示的各个部分都属于⽤户界⾯。

  • 浏览器引擎 在⽤户界⾯和呈现引擎之间传送指令。

  • 呈现引擎 负责显示请求的内容。如果请求的内容是 HTML,它就负责解析 HTML 和 CSS 内容,并将解析后的内容显示在屏幕上。

  • ⽹络 ⽤于⽹络调⽤,⽐如 HTTP 请求。其接⼝与平台⽆关,并为所有平台提供底层实现。

  • ⽤户界⾯后端 ⽤于绘制基本的窗⼝⼩部件,⽐如组合框和窗⼝。其公开了与平台⽆关的通⽤接⼝,⽽在底层使⽤操作系统的⽤户界⾯⽅法。

  • JavaScript 解释器。⽤于解析和执⾏ JavaScript 代码。

  • 数据存储 这是持久层。浏览器需要在硬盘上保存各种数据,例如 Cookies。新的 HTML 规范 (HTML5) 定义了“⽹络数据库”,这是⼀个完整(但是轻便)的浏览器内数据库。

值得注意的是,和⼤多数浏览器不同,Chrome 浏览器的每个标签⻚都分别对应⼀个呈现引擎实例。每个标签⻚都是⼀个独⽴的进程

上次更新: 2022/02/19, 22:25:17
浏览器的垃圾回收机制

← 浏览器的垃圾回收机制

Copyright © 2021-2025 粤ICP备2021165371号
  • 跟随系统
  • 浅色模式
  • 深色模式