1. 减少HTTP请求,尽可能的合并js文件,css样式以及图片资源;删除冗余的js, css代码;
2. 网页上的js, css等静态资源使用CDN托管
CDN(content delivery network)内容分发网络,构建于现有网络之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发,调度等功能模块,使用户就近获取所需内容,降低网络阻塞,提高用户访问网页速度和命中率。
3. 使用innerHTML代替DOM操作,减少DOM操作次数;
4. css文件放在顶部,js文件放在底部
页面加载时,css放在页面顶部,可以优先渲染页面内容,让用户感觉页面加载速度比较块;
js加载会阻塞后面其他资源的加载
5. 使用变量存储ajax请求的结果,尽量操作本地变量,减少请求次数;
6. 保存DOM节点查询的数据,减少I/O读取操作;
7. 避免使用空的src和href。当link标签的href属性,script标签的src属性为空时,浏览器渲染的时候会把当前页面的url作为他们的属性值,从而把页面的内容加载进来作为他们的值;
8. 为文件头指定Expire。Expire用来设置文件过期时间的,一般对css, js, 图片有效。它可以使内容具有缓存性,这样下次访问同样的资源时就可以通过浏览器缓冲区读取,不需要再发送HTTP请求。
9. 使用Gzip压缩内容。Gzip可以对任何一种文本类型的相应进行压缩,包括html, xml, json,大大缩少相应返回的数据量;
10. 减少css表达式的使用。表达式会持续在页面上计算样式,影响性能(css表达式只被IE支持);
11. 当需要设置比较多的样式时使用className代替直接操作style;
12. 配置Etag。它是用来判断浏览器缓存里的元素与服务器的缓存是否一致。使用ETag可以减少web应用的带宽和负载;
13. 减少cookie的大小,因为每个请求都会带上cookie;
14. 使用无cookie的域。比如请求css, js, 图片等静态资源时,会减少了cookie的反复传输对主域名的影响。