1.减少http请求
a) 合并脚本和样式表 ,减少http请求数量从而缩短响应时间
b) 字体图标
c) 雪碧图
d) 图片地图
知识点链接:http://www.w3school.com.cn/tags/att_img_usemap.asp,将所有点击提交到 同一个url,同时提交用户点击的x、y坐标,服务器端根据坐标映射响应
2.使用CDN
cdn是一组分布在多个不同地理位置的web服务器,如果应用程序web服务器离用户更近
那么http请求相应的时间将缩短
3.使用缓存expires和cache-control (https://www.jianshu.com/p/f331d5f0b979)
cache-control在服务器端配置文件缓存有效期,有效期内读缓存数据,不http请求
expires在服务器端配置,添加的是该资源过期的日期,浏览器会根据该日期和客户端时间对比,到期了再重新读取
4.对http传输进行压缩 (https://www.jianshu.com/p/74c10af7707d)
5.样式表放头部
减少页面首屏出现的时间,使页面内容逐步呈现,改善用户体验,防止摆平
所有样式表加载解析完毕之前不需绘制任何东西
6.脚本放底部
js的下载和执行会中断dom树的更新
因为脚本可能会修改页面内容,因此浏览器会等待,另外为了保证脚本能够按照正常的顺序执行,因为后面的脚本可能与前面的脚本存在依赖关系,不按照顺序执行可能会产生错误
7.合理使用外部js/css
内联脚本或者样式可以减少http请求,但在实际情况中当脚本或样式是从外部引入的文件,浏览器就有可能缓存它们,以后在加载的时候能直接使用缓存,而html
文档的减小,从而提高加载速度
8.减少dns查找
9.懒加载
10.按需加载
模块化开发,只需加载用到的资源
11预加载