前端性能优化
为什么要了解浏览器的这些机制,为了性能优化
1.加载:引用外部css,js文件时,把它们放到合适的位置,使浏览器更快的加载
2.解析:构建DOM结构,组织css选择器时,选择最优的写法,提高浏览器的解析速率
3.渲染:减少‘重绘’
用户访问网页都发生了什么
1.进行域名解析,拿到IP地址之后,向对应的服务器发送请求
2.网络服务器接收请求,向数据库服务器发送请求
3.数据库服务器将请求的资源发送给网络服务器,网络服务器解析数据,放入http的response中,生成html文件,返回给客户端
4.浏览器解析http response
5.下载html,以及html中包含的外部引用文件css,js,图片等资源
常见的状态码
- 200 成功
- 304 请求资源在本地缓存
- 400 客户端请求格式有误,服务器无法解析
- 401 要求用户进行身份验证
- 500 服务器内部错误 无法完成请求
加载
浏览器的5个常驻线程
- GUI渲染线程
- js引擎线程
- 定时器的执行线程
- 事件触发线程
- http异步请求线程
预加载网页,利用空余时间来提前加载该网页的后续网页。
页面的渲染(reflow)和重绘(repaint)
原文作者: Burgess
原文链接: https://qiyaozu.github.io/2019/06/10/brower/
版权声明: 转载请注明出处(必须保留作者署名及链接)