初识web性能优化

213 阅读1分钟

web性能优化有那些部分可以优化

缓存

使用Expires或者cache-control

DNS查询

  1. 减少DNS查询次数,使用同一个域名
  2. DNS预解析<link rel="dns-prefetch" href="https://xxx.com/">

建立TCP连接

  1. TCP连接复用:Connection: keep-alive
  2. 使用HTTP 2.0多路复用

发送请求

  1. 减少cookie体积
  2. 使用多个域名,浏览器同时送多个请求,一个域名一般为4-8个(和DNS查询矛盾,如果你的文件很多,10个文件之类的,那么就使用多个域名,增加cdn查询次数,如果文件很少,使用较少的域名减少cdn查询次数)
  3. 合并文件,减少请求次数

接受响应

  1. 使用Etag,Etag和cache-control的区别,Etag有请求,不下载,cache-control直接不请求
  2. 使用Gzip

接受完成

压缩html,删掉回车,删掉注释

解析DOCTYPE

正确写上DOCTYPE

解析标签

减少无用的标签

压缩文件

  1. 压缩css
  2. 压缩js

引用位置

  1. 把css放在顶部
  2. 把js放在底部

解析图片发送请求渲染

  1. 压缩图片:比如canvas实现,google guetzli算法,使用jpegtran压缩jpeg,使用pngcrush压缩png
  2. 不使用src为空的图片(使用about:blank)

用户体验

懒加载

很庞大的界面使用懒加载提高用户体验

预加载

用户一定会点击的页面采用预加载,比如小说下一页

使用lodding动画

使用了lodding会让用户觉得时间过的比较快

使用CDN

使用CDN,减少不同地区用户的体验差距