1.输入网址到出现网页过程发生了什么
1.URL解析 (找ip给tcp/ip协议工作)
1.本地解析:确定用什么协议和解析哪个域名
2.浏览器本地缓存中查找对应ip
3.本地host文件查找
4.路由器dns查找
5.dns服务器查找
2.tcp/ip三次握手与服务器进行通信
1.三次握手
2.浏览器打包http信息发送
3.服务器返回
4.四次握手结束连接
3.页面渲染
1.html解析dom树:可能被css和js资源堵塞,包含script标签和注释
2.css解析css规则树:与html解析同进行,与script执行互斥
3.html和css合成渲染树:绘制树,只有在网页上有位置的元素才会在渲染树中
Display:none不在
4.按照渲染树计算位置,绘制网页
2.浏览器渲染网页详情:
1.样式堵塞html解析,堵塞脚本执行但不堵塞脚本加载,除非加async属性,DOM树创建完成后DOMContentLoaded事件即触发,这时候可以用过script来操作DOM节点。
2.浏览器在cssom构建完成之前不会渲染任何已处理内容
3.css解析和script执行互斥
4.回流:某部分变化影响了全局,页面重新计算渲染
减少回流:transform做形变和位移,让元素脱离1文档流
4.重绘:几何尺寸和位置没有变化,如颜色,背景色
5.优化方法:
1.样式在前,脚本在后
2.css选择器嵌套减少到最小
3.减少js进行dom操作
4.用transform做形变位移