其他分享
首页 > 其他分享> > 详解重绘与回流

详解重绘与回流

作者:互联网

详解重绘与回流

不知道鸭 0.12021.12.22 12:05:49字数 2,401阅读 3,516

从输入url到看到页面,过程?

1、输入url ( 协议、网络地址、资源路径 )

2、查看浏览器缓存,看是否有缓存,如果有缓存,继续查看缓存是否过期,如果没有过期,直接返回缓存页面,如果没有缓存或者缓存过期,发送一个请求。

3、浏览器解析url地址,获取协议、主机名、端口号和路径。

4、获取主机ip地址过程

(1)浏览器缓存

(2)主机缓存

(3)hosts文件

(4)路由器缓存

(5)DNS缓存

(6)DNS递归查询

5、浏览器发起和服务器的TCP连接,执行三次握手

6、三次握手连接后,浏览器发送一个http请求

7、服务器收到请求,转到相关的服务程序,期间可能需要连接并操作数据库(主要分get和post请求)

8、服务器看是否需要缓存,服务器处理完请求,发出一个响应

9、服务器并根据请求头包含信息决定是否需要关闭TCP连接(如需关闭,则需要四次挥手过程)

10、浏览器对接收到的响应进行解码

11、浏览器解析收到的响应并根据响应的内容(假如是HTML文件),启动渲染引擎开始解析HTML文档,并把标签转化成内容树中的DOM节点。同时它也开始解析样式数据,外链的css文件以及style标签内的样式。所有这些样式数据以及HTML中的可见性指令都是用来创建另一棵树——render 树

12、处理嵌入的其他资源如css文件、js文件、图片文件、音视频等文件(处理过程类似上述)

那么浏览器如何渲染页面呢?

一、构建DOM树及CSSOM树

1.1 构建DOM树

HTML 文档中的所有内容皆是节点,各节点之间拥有层级关系,如父子关系、兄弟关系等,彼此相连,构成DOM树。最常见的几种节点有:文档节点、元素节点、文本节点、属性节点、注释节点。

DOM节点树中节点与HTML文档中内容一一对应,DOM树构建过程:读取html文档,将字节转换成字符,确定tokens(标签),再将tokens转换成节点,以节点构建 DOM 树。如图所示

标签:缓存,浏览器,DOM,渲染,节点,详解,构建,回流,重绘
来源: https://www.cnblogs.com/sexintercourse/p/16538669.html