Timo

Web 性能优化

Web性能优化也算是前端(或者后台)工作的一个很重要的部分。在面试的时候也经常被问到,所以在此做个总结。

优化的大方向可以从一下几个方面考虑:

  1. 减少HTTP请求数
  2. 减小HTTP传输大小
  3. 增加文件下载的并发数

减少HTTP请求数

我们可以对一些JS文件和CSS文件进行合并,对于一些小型的图片文件,我们可以使用内联图片或者制作雪碧图。

同时,有效地利用缓存同样可以达到这个目的。 我们将一些不经常变动的文件缓存起来,这样以后再访问这个文件时就直接使用缓存的文件即可。

减小HTTP传输大小

对CSS文件和JS文件进行压缩,这是前端经常使用的优化方法。

同时,对于一些不依赖与cookie的文件,比如图片、JS和CSS文件等,我们可以将这些资源方法一个不使用cookie的域名下。因为http请求头中会包含域名下的cookie信息,这样导致在请求这些文件时多加上了这些无用的cookie信息。启用cookie free域名可以帮助我们解决这个问题。

增加文件下载的并发数

浏览器在获取请求的文件时,一般是并行下载的。每个浏览器的数量不同,每个域名允许的并发数一般是2~8个。启用前面说的cookie free域名,同样可以达到这个方面的优化。

但是,域名数并不是越多越好,因为域名太多,花费在DNS解析的时间也就越长,最后可能会得不偿失,因此我们需要在这个方面做一个权衡。