Appearance
性能优化
当浏览器输入一个url,会发生什么?
- URL解析,包括协议(如
http)、域名、端口、路径和参数等 - 处理缓存,包括
强缓存,协商缓存命中等 - dns解析,解析域名,获取ip地址
- 建立链接,请求服务器资源,
Nginx,CLB,CDN等 - 处理响应,资源的
加载顺序,资源阻塞等 - 构建Dom树,CSS树,渲染页面,js执行等
上面url的加载过程,其实就是我们可以优化的过程,比如:
- dns解析慢,我们可以找运维更换dns解析服务商
- 缓存不生效,我们可以调整缓存策略
- 部分地区网络慢,我们可以上cdn
- 资源加载慢,处理响应慢,我们可以拆包,gzip压缩,优化资源加载顺序,上http2
- 页面渲染慢,减少dom树层级,减少css选择器复杂度,减少js执行时间
