当前位置: 首页 > news >正文

从 WebKit 看浏览器内核架构

浏览器常见的浏览器内核有:Blink、WebKit、Gecko、Trident 等,目前 WebKit 内核占据了非常大的的市场,包括 Chrome、Safari、安卓浏览器等市面上的主流浏览器,都使用了 WebKit 内核。


从 WebKit 看浏览器内核架构


既然 WebKit 这么经典,我们就以它为例来看一下浏览器内核的架构。浏览器内核主要包含:HTML Parser,CSS Parser,Layout,JavaScript Engine 几部分,如下图所示:

我们简单看一下,上图中的几个关键部分承担了什么工作:

HTML Parser:HTML 解析器,负责 HTML 文本的解析,将 HTML 解析为可编程结构 —— DOM (文档对象模型)树;

CSS Parser:CSS 解析器是层叠样式的解析器,用来计算布局所需要的节点样式信息 —— CSSOM(样式)树;

Layout:布局,在 得到 DOM 树和 CSSOM 树后,需要计算出 DOM 树中可见元素的几何位置,生成布局树 —— Layout Tree;

JavaScript Engine:JavaScript 语言的解析引擎,执行页面的动态逻辑,并可以访问 DOM 和 CSSOM 数据接口;

操作系统支持 —— 移植:WebKit 代码中,因为其天生具有跨平台性质,所以部分平台相关的能力需要做跨平台兼容的移植。

上面是一个简略的浏览器内核的功能,不过它仅仅是完成了核心的渲染过程,实际上浏览器则要复杂得多。

此文章为5月Day22学习笔记,内容来源于极客时间《计算机基础实战课》

http://www.lryc.cn/news/89728.html

相关文章:

  • 使用原生的 JavaScript,不依赖于任何特定的库与 ROSBridge进行通信
  • MATLAB第十章_图像处理算法
  • RobotFramework接口测试方案
  • chatgpt赋能python:Python中日期转换:从字符串到日期对象
  • k8s 1.27新特性in-place使用方法:避坑指南(官方文档有坑,已提issue)
  • 网络传输(传输介质、通信方式、交换方式)
  • 【Unity】Time.deltaTime有什么用?看完你就明白
  • vue实现用户动态权限登录
  • ONNX模型修改为自定义节点
  • 内存对齐原则
  • Java SPI 一 之SPI(Service Provider Interface)进阶 AutoService
  • C++ list类成员函数介绍
  • 【服务器】本地搭建PHP简单Imagewheel私人云图床
  • 第四十二回:DateRangePickerDialog Widget
  • 【C++系列P3】‘类与对象‘-三部曲——[基础知识](1/3)
  • Android UEvent事件分析之Kernel上报电量
  • C++ vector模板和deque的简单应用
  • 声明式事务控制
  • cisp pte模拟题
  • Docker容器 和 Kubernetes容器集群管理系统
  • 港联证券|资金疯狂涌入AI,这一板块涨幅超90%!万亿巨头继续狂飙
  • 短视频矩阵系统源码-开源开发php语言搭建
  • PFEA112-20 3BSE050091R20 张力控制器
  • Java springboot+vue生成报纸排版页面的新闻官网
  • Terra-Luna归零一年后:信任重建、加密未来路在何方?
  • Android 12.0 手动安装Persistent app失败的解决方案
  • Unity3D安装:从命令行安装 Unity
  • C++模板(详解)
  • WuThreat身份安全云-TVD每日漏洞情报-2023-05-25
  • android 12.0去掉recovery模式UI页面的选项