前端如何优化网站性能?

  1. 减少http请求
    合并js、css文件,使用精灵图,懒加载
  2. 利用浏览器缓存
    浏览器缓存是将网络资源缓存到本地,下一次请求该资源的时候,如果本地已经有了就不需要再重新星球,直接使用本地缓存的就可以了
    使用浏览器缓存的好处:
    • 减少用户等待时间,提升用户体验
    • 减少网络带宽的消耗
    • 降低服务器压力
      前端如何实现浏览器缓存?
      前端缓存一般是对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的缓存 -->
  1. 减少重排
    重排是指某些元素发生变化,影响到了元素布局,浏览器抛弃原有属性重新计算。
    重绘:dom元素属性变化时,浏览器会重新render相应的属性
    如何减少重排:
    • dom的多个读写操作放到一起
    • 不要一条一条的改样式,通过class来改样式
    • position为absolute或fixed的元素,重排开销会小一点,因为不用考虑对其他元素的影响
    • 尽量使用代码片
  2. 控制文件资源加载的优先级
  3. 减少dom操作
  4. 图标尽量使用iconfont