从输入url敲击回车键到页面渲染出来,大致可以分为3大阶段:
强缓存检查 => DNS解析 => TCP连接 => TLS连接
协议缓存 => 业务逻辑计算 => 响应结果
HTML解析成DOM树 => CSS解析成CSSOM树 => 合成Render树 => 布局 => 绘制
为什么要减少重排?
重排因为要重新计算Render Tree
,而且每一个DOM Tree
都有一个reflow
方法,一旦某个节点发生重排,就有可能导致子元素和父元素甚至是同级其他元素的reflow
,浪费大量的时间重新验证Render Tree
。
参考: