性能优化:
请求数量方面
1.合并脚本和样式表,减少http 请求的次数
css 雪碧图(css精灵): 将多张图片文件合并成一张图片,进而减少http 请求,利用(backgrond-image,background-repeat,background-position)组合进行图片定位,精确定位出图片的位置。
按需加载
划分主域: ,在http 请求中 浏览器客户端在同一时间,针对同一域名下的请求有一定的限制,超过限制数目请求就会被阻塞,划分主域,配置静态资源专用域,目的就是解决这一问题,但是不易过多,否则 DNS 查询时间就会加长
浏览器的最大并发 6~8
请求宽带方面:
1.( 压缩代码) 开启Gzip 服务端启用 Gzip 可以有效的减少数据传输量,Gzip 对于基于文本的文件(css,js,htmll) 压缩效果最好,现在浏览器都是支持Gzip 并且都是自动请求该压缩
- 精简 js ,移除重复脚本
- 压缩图片或者选用合适的图片的格式(webP 优于JPG ,PNG 优于GIF)
可以使用css3,svg,incofont 代替图片
缓存方面:
- 使用cdn ,内容分发网络能有效的减少资源响应时间,提升用户体验 ( 基本思路是避开影响数据传输,是内容传输更快)
使用外部 javascript 和css (因为浏览器可以将外部的js,css文件进行缓存,而如果将其写成内敛样式,或者嵌入HTML文档中,每次请求都要下载,
添加 Exprires 头,或者Cache-control :max-age, 来设置缓存时间, Expries 是设置到什么时候过期,Cache-control 是设置从现在开始多久时间之后过期,但是没有办法更新缓存
4 . 配置Etage 实体标签,是一种web 缓存验证机制,语序客户端进行缓存协商,使得缓存缓存更加高校,如果资源没有发生改变,服务器就不需要发送一个完整的相应
- 使用ajax进行缓存
其他
js 脚本在Body 中,就是在下面, css在head中,使用Link 不要使用@inmport