- 浏览器查找当前的URL是否存在缓存,并确定是否过期。
- DNS对URL进行解析,解析成对应的IP地址。
- 根据IP地址建立TCP连接(三次握手),服务器收到请求返回响应体。
- 浏览器根据返回的响应体,解析html。
- 根据html生成DOM树,根据css生成CSSOM树。
- DOM树和CSSOM树生成REDOM(渲染树)。
重绘:页面中的元素属性发生改变,只影响外观,不影响布局。
回流(重排):元素的尺寸,布局和显示隐藏发生改变,需要重新构建页面。
回流一定会引起重绘,重绘不一定会引起回流
避免重绘和回流:
- 直接改变className
- 将频繁的文档操作改成一次性的操作
问:script为什么要放在HTML的最后
答:JS的加载和执行会阻塞渲染进程