浏览器与协议

浏览器深度架构研究(专业级 + 图像化架构拆解 + 内核谱系 + 进程模型 + 渲染流水线)

现代浏览器不是单一程序,是模块化、多进程、分层引擎架构的复杂软件;

作者:洋柿子·2026-09-01·共 3 篇 · 当前 3

浏览器深度架构研究(专业级 + 图像化架构拆解 + 内核谱系 + 进程模型 + 渲染流水线)

前置定义

现代浏览器不是单一程序,是模块化、多进程、分层引擎架构的复杂软件;

核心分两大块:浏览器外壳 + 浏览器内核,内核再细分为渲染引擎、JS 引擎、网络引擎、图形合成引擎等子模块。

一、现代浏览器五层分层架构(图像化层级模型)

plaintext

┌─────────────────────────────────────┐
│  第一层:浏览器应用外壳层(UI层)      │
│  窗口、地址栏、书签、菜单栏、设置、多标签  │
├─────────────────────────────────────┤
│  第二层:进程调度 & 沙箱管理层         │
│  多进程分发、进程隔离、安全沙箱、资源调度 │
├─────────────────────────────────────┤
│  第三层:浏览器内核引擎层(核心)       │
│  渲染引擎|JS引擎|网络引擎|存储引擎|图形合成 │
├─────────────────────────────────────┤
│  第四层:系统适配层                   │
│  操作系统API、图形接口、网络协议栈、硬件抽象 │
├─────────────────────────────────────┤
│  第五层:硬件层                       │
│  CPU、GPU、网卡、显示器、磁盘          │
└─────────────────────────────────────┘
  • 外壳层不负责解析网页,只做界面交互;
  • 真正解析 HTML/CSS/JS、渲染页面、执行脚本,全在内核引擎层。

二、现代浏览器多进程架构(专业拓扑模型)

以 Chromium 系(Chrome/Edge/ 所有国产浏览器)标准多进程架构:

plaintext

主进程(Browser Process)
├── 网络进程(Network Process)  # HTTP/HTTPS 请求、缓存、协议解析
├── GPU进程(GPU Process)       # 图形合成、3D渲染、硬件加速
├── 存储进程(Storage Process)   # Cookie、LocalStorage、索引DB管理
├── 插件进程(Plugin Process)   # 隔离第三方插件
└── 渲染进程(Renderer Process)  # 每一个标签页独立一个渲染进程
     └── 渲染进程内部线程
          ├── 主线程:解析HTML/CSS、构建DOM/CSSOM、布局绘制
          ├── JS引擎线程:执行JS代码
          ├── 合成线程:页面分层、GPU合成
          └── 工作线程:WebWorker 多线程任务

核心专业特性

  1. 标签页进程隔离:一个标签崩溃不影响整个浏览器;
  2. 沙箱机制:渲染进程被权限隔离,防止恶意代码侵入系统;
  3. GPU 硬件加速:页面绘制、动画、3D 交由 GPU 分担 CPU 压力。

三、浏览器内核核心拆分(专业内核结构)

浏览器内核 = 渲染引擎 + JavaScript 引擎 + 附属引擎模块

1. 渲染引擎(Layout/Render Engine)

职责:

解析 HTML → 生成 DOM 树

解析 CSS → 生成 CSSOM 树

合并两树 → RenderTree 渲染树

执行 Layout(布局 / 重排) → Paint(重绘) → Composite(图层合成)

主流渲染引擎:

  • WebKit:苹果自研,Safari 御用
  • Blink:Chromium 从 WebKit 分叉重构,Chrome/Edge/ 国产全系
  • Gecko:Firefox 自研独立渲染引擎
  • Trident:IE 老式渲染引擎(已淘汰)

2. JavaScript 引擎(JS 虚拟机)

独立于渲染引擎,专门解析、编译、执行 JS:

  • V8:Google 自研,Chrome/Edge/Node.js 同款
  • JavaScriptCore:Safari/WebKit 内置
  • SpiderMonkey:Firefox 专属 JS 引擎

关键知识点:JS 引擎和渲染引擎主线程互斥,JS 执行会阻塞页面渲染。

3. 附属核心模块

  • 网络引擎:HTTP1.1/HTTP2/HTTP3、缓存策略、跨域处理
  • 图形引擎:2D/3D 绘图、Canvas、SVG、图层管理
  • 安全引擎:同源策略、CSP、HTTPS 证书校验
  • 存储引擎:Cookie、WebStorage、IndexedDB、文件系统

四、浏览器内核演化谱系图(图像化树状结构)

plaintext

                          浏览器内核始祖
                             ▲
                             │
                ┌────────────┴────────────┐
                │                         │
          WebKit(2005)              Gecko(火狐独立)
                │
      ┌─────────┴──────────┐
      │                    │
 Safari 原生WebKit      Chromium 分叉改造
                           │
                      Blink 引擎(2013)
                           │
        ┌──────────┬──────────┬──────────┐
        │          │          │          │
     Chrome      Edge      360      QQ/搜狗/百分浏览器

 Trident(IE)  独立支线 → 已停止维护、仅兼容老旧内网

谱系专业结论

  1. 目前市面95% 桌面 & 移动端浏览器 都基于 Blink/Chromium;
  2. Safari 坚守 WebKit 不分叉,是前端必须单独兼容的内核;
  3. Firefox Gecko 唯一非主流独立内核,保持标准纯粹性;
  4. 所有国产浏览器无自研内核,均为 Chromium 套壳 + 定制 UI + 双核兼容。

五、标准网页渲染完整流水线(专业图像化流程)

网络请求 → HTML解析 → 生成DOM树
                    ↓
           CSS解析 → 生成CSSOM树
                    ↓
           DOM + CSSOM → 生成渲染树
                    ↓
           Layout 布局(计算元素几何位置、宽高)
                    ↓
           Paint 绘制(按图层像素填充)
                    ↓
           Composite 图层合成 → GPU输出到屏幕

关键学术概念

  • 回流(Reflow):Layout 阶段重新计算布局,开销最大
  • 重绘(Repaint):仅重新像素绘制,不改变布局
  • 图层合成:浏览器自动分层,动画只更新单独图层,优化性能

六、主流浏览器技术架构专业对比表

表格

浏览器 内核架构 JS 引擎 进程模型 核心技术特征
Chrome Blink V8 完整多进程 + 沙箱 标准引领者、迭代最快、DevTools 最强
Edge Blink V8 同 Chromium 架构 微软深度定制、系统生态融合
Safari WebKit JavaScriptCore 苹果自研进程模型 省电优化、Web 标准严格、移动端标杆
Firefox Gecko SpiderMonkey 多进程 Electron 架构 隐私优先、自定义度高、独立内核
国产浏览器 (360/QQ) Blink + Trident 双核 V8 套壳 Chromium 进程 仅做 UI 封装、兼容老旧 IE 页面
微信内置浏览器 iOS:WebKit / 安卓:X5 (魔改 Blink) 魔改 V8 定制单 / 多进程 前端移动端重点适配场景

七、研究延伸方向(可以继续深挖)

  1. WebKit 与 Blink 内核源码分叉差异;
  2. V8 引擎解释执行、即时编译(JIT)原理;
  3. 浏览器安全沙箱与进程隔离实现;
  4. HTTP3/QUIC 在浏览器网络层的应用;
  5. 浏览器缓存机制(强缓存 / 协商缓存)底层原理;
  6. 移动端 WebView 与原生浏览器内核差异。

你想接下来深入哪一块?我可以给你拆源码级原理或手绘架构流程图。