- 尽量减少HTTP请求次数
压缩合并js
css精灵
内联图片。src用data:url scheme - 减少DNS查询
有的内容资源都放在同一个域(Domain)下面,这样访问整个网站就只需要进行一次DNS查找,这样可以提高性能
由于这些资源都在同一个域,而HTTP /1.1 中推荐客户端针对每个域只有一定数量的并行度(它的建议是2),那么就会出现下载资源时的排队现象
建议在一个网站里面使用至少2个域,但不多于4个域来提供资源 - 使用CDN
网站上静态资源即css、js全都使用cdn分发,图片亦然,因为cdn拥有众多服务器,用户请求可以请求距离他近的服务器,加快速度 - 避免空的src和href
- 为文件头指定Expires(过期时间)或者Cache-Control头部。
- 使用gzip压缩内容(服务端)
- 把CSS放到顶部
- 把JS放到底部
- 避免使用CSS表达式
- 将CSS和JS放到外部文件中
- 可缓存的AJAX异步请求同样的造成用户等待,所以使用ajax请求时,要主动告诉浏览器如果该请求有缓存就去请求缓存内容。如下代码片段,
$.ajax({
url: ‘url’,
dataType: “json”,
cache: true, //如果有缓存请求缓存
success: function(son, status) {}
}) - 使用GET来完成AJAX请求
POST方法:首先发送文件头,然后才发送数据 - 减少DOM元素数量
- 不要404。
所以发出http请求但获得没用的响应(如404)是完全不必要的,并且会降低用户体验,这样首先会降低(占用)并行下载数
如果有404状态码 在此页面展示404样式,不是直接跳转到404页面 - 不要在html中缩放图片
面试题汇总 – 前端性能优化
未经允许不得转载:Mxue note » 面试题汇总 – 前端性能优化