本文提到的网站性能指网站的响应速度,这也符合绝大部分人对于网站性能的理解:访问快速的网站性能好,反之,访问速度越慢,则网站性能越差。本文总结的优化方法是宏观的工程层面的方法,并不包含微观的语言语法层面的方法,例如,JS、CSS的语法优化,这一部分同样影响网站的性能,但语言语法层面的优化更多的是取决于开发人员的编程水平。
content方面
减少HTTP请求:合并文件、CSS精灵、inline Image
减少DNS查询:DNS查询完成之前浏览器不能从这个主机下载任何任何文件。方法:DNS缓存、将资源分布到恰当数量的主机名,平衡并行下载和DNS查询
避免重定向:多余的中间访问
使Ajax可缓存
非必须组件延迟加载(懒加载)
未来所需组件预加载
减少DOM元素数量
将资源放到不同的域下:浏览器同时从一个域下载资源的数目有限,增加域可以提高并行下载量
减少iframe数量
不要404
Server方面
使用CDN,选择网络阶跃数最小的服务器 ,或者具有最短响应时间的服务器
添加Expires或者Cache-Control响应头
对组件使用Gzip压缩
配置ETag
Flush Buffer Early
Ajax使用GET进行请求
避免空src的img标签
Cookie方面
减小cookie大小
引入资源的域名不要包含cookie
css方面
将样式表放到页面顶部
不使用CSS表达式
使用不使用@import
不使用IE的Filter
Javascript方面
将脚本放到页面底部
将javascript和css从外部引入
压缩javascript和css
删除不需要的脚本
减少DOM访问
合理设计事件监听器
图片方面
优化图片:根据实际颜色需要选择色深、压缩,推荐智图、熊猫png
优化css精灵
不要在HTML中拉伸图片
保证favicon.ico小并且可缓存
简单的图片使用svg制作
优先考虑使用雪碧图
添加Expires头达到缓存效果,
移动方面
保证组件小于25k
Pack Components into a Multipart Document
领取专属 10元无门槛券
私享最新 技术干货