- 减少http请求
合并js、css文件,使用精灵图,懒加载
- 利用浏览器缓存
浏览器缓存是将网络资源缓存到本地,下一次请求该资源的时候,如果本地已经有了就不需要再重新星球,直接使用本地缓存的就可以了
使用浏览器缓存的好处:
- 减少用户等待时间,提升用户体验
- 减少网络带宽的消耗
- 降低服务器压力
前端如何实现浏览器缓存?
前端缓存一般是对js、css和图片等进行缓存
- 服务端设置Expirse过期时间,但是可能会有客户端时间和服务器时间不一致的问题
- cache-control:描述一个相对时间,进行缓存命中的时候,都是根据客户端时间进行判断的,相对于expirse,cache-control的缓存更加有效安全。值包含:
- pubilc、
- private、
- no-cache:只是请求和相应的消息不能缓存,并不是不能缓存,需要和服务器确认
- no-store:在请求消息中发送将使得请求和相应消息都不实用缓存,完全不存下来
- max-age:缓存资源的最大生命周期
<!-- 1. 通过HTTP的meta设置exprise和cache-control -->
<meta http-equiv="Cache-Control" content="max-age=7200"/>
<meta http-equiv="Exprise" content="Sun Oct 15 2017 20:39:53 GMT+0800 (CST)"/>
<!-- 2、apache服务器配置图片,css,js,flash的缓存 -->
- 减少重排
重排是指某些元素发生变化,影响到了元素布局,浏览器抛弃原有属性重新计算。
重绘:dom元素属性变化时,浏览器会重新render相应的属性
如何减少重排:
- dom的多个读写操作放到一起
- 不要一条一条的改样式,通过class来改样式
- position为absolute或fixed的元素,重排开销会小一点,因为不用考虑对其他元素的影响
- 尽量使用代码片
- 控制文件资源加载的优先级
- 减少dom操作
- 图标尽量使用iconfont