谈谈浏览器相关原理
谈谈浏览器渲染
浏览器渲染,也就是渲染HTML过程
构建DOM树 -> 构建渲染树 解析css -> 布局渲染树 -> 绘制渲染树 -> 绘制页面呈现出来
- 1、解析html构建dom树
- 2、解析css构建render渲染树(将CSS代码解析成树形的数据结构,然后结合DOM合并成render树)
- 3、布局render树(Layout/reflow),负责各元素尺寸、位置的计算
- 4、绘制render树(paint),绘制页面像素信息
- 5、渲染树创建好了,浏览器就可以根据渲染树把页面绘制到屏幕上。
- 渲染好的东西绘制页面上面去显示给用户
谈谈CPU和GPU
CPU
- 中央处理器,负责处理页面逻辑运算、渲染页面、执行脚本任务等情况
- CPU 的性能直接影响网页的加载载速度、响应速度
- 减少不必要的计算和操作可以提高 CPU 的性能
GPU
- 图形处理器,负责处理图形和图像以及视频相关的,比如渲染图形、渲染3D、处理视频、动画效果、游戏性能等方面
- GPU对于处理视觉效果是有很好的性能
- 每个 GPU 的核心可以并行处理多个任务,因此 GPU 在处理大量图形和图像时具有优势的
谈谈浏览器输入 URL 到页面加载完成发生了什么
- 将域名解析成 IP 地址
- TCP 连接:TCP 三次握手
- 向服务器发送HTTP请求
- 服务器处理请求并返回 HTTP响应
- 浏览器渲染 : 解析渲染页面
- 构建dom树 -> 渲染渲染树 -> 布局渲染树-> 绘制渲染树
- 断开连接:TCP 四次挥手