chst365's blog chst365's blog
首页
  • Git
  • 网络
  • 操作系统
  • 浏览器
  • webpack
  • JavaScript
  • TypeScript
  • 性能
  • 工程化
  • React
  • 编程题
  • React技术揭秘
  • 算法
  • Node
  • 编码解码
  • NodeJS系列
  • Linux系列
  • JavaScript系列
  • HTTP系列
  • GIT系列
  • ES6系列
  • 设计模式系列
  • CSS系列
  • 小程序系列
  • 数据结构与算法系列
  • React系列
  • Vue3系列
  • Vue系列
  • TypeScript系列
  • Webpack系列
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

chst365

DIV工程师
首页
  • Git
  • 网络
  • 操作系统
  • 浏览器
  • webpack
  • JavaScript
  • TypeScript
  • 性能
  • 工程化
  • React
  • 编程题
  • React技术揭秘
  • 算法
  • Node
  • 编码解码
  • NodeJS系列
  • Linux系列
  • JavaScript系列
  • HTTP系列
  • GIT系列
  • ES6系列
  • 设计模式系列
  • CSS系列
  • 小程序系列
  • 数据结构与算法系列
  • React系列
  • Vue3系列
  • Vue系列
  • TypeScript系列
  • Webpack系列
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 浏览器

    • 浏览器工作原理
      • 浏览器的结构
      • 主流程
    • 浏览器架构
    • 内存泄漏
    • 重排和重绘
    • DOM树
  • webpack

  • TypeScript

  • 性能

  • 工程化

  • React

  • JavaScript

  • 编程题

  • React技术揭秘

  • 算法

  • 前端
  • 浏览器
chst365
2021-04-08
目录

浏览器工作原理

# 浏览器工作原理

# 浏览器的结构

  • 用户界面
    • 包括地址栏、前进/后退按钮、书签菜单等
    • 除浏览器主窗口显示你请求的页面外,其他显示的各个部分都属于用户界面
  • 浏览器引擎
    • 在用户界面和呈现引擎之间传送指令
  • 呈现引擎
    • 负责显示请求的内容,如解析 HTML、CSS 并显示在屏幕上
    • Firefox: Gecko; Safari/Chrome: WebKit
  • 网络
    • 用于网络调用,如 HTTP 请求,其接口与平台无关
  • 用户界面后端
    • 用于绘制基本的窗口小部件,如组合框和窗口,其公开了与平台无关的通用接口
  • js 解释器
    • 用于解析和执行 js 代码
  • 数据存储
    • 持久层,存储保存各种数据,如 Cookie 等

# 主流程

HTML、CSS -> DOM tree -> Render tree -> Layout tree -> Paint tree Image text

Image text

# 两者差别

Gecko

  • 框架树:每个元素都是一个框架
  • 放置:重排
  • HTML 与 DOM 树间有内容槽的层,用于生成 DOM 元素

WebKit

  • 呈现树:由呈现对象组成
  • 放置:布局
  • 附加:连接 DOM 节点和可视化信息从而创建呈现树的过程
#浏览器
上次更新: 2021/04/22, 00:08:06
浏览器架构

浏览器架构→

最近更新
01
面试官
03-27
02
this&指针&作用域&闭包
03-27
03
前端
03-27
更多文章>
Theme by Vdoing | Copyright © 2019-2025 chst365 | 豫ICP备17031889号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式