有一些数据我们没有必要每次进入页面都调用后台接口,比如选择城市的城市数据,比如商品分类的分类列表等,这时候我们就可以把从接口获取到的数据存储到本地存储。
强缓存:
强缓存就是第一次从服务器请求到数据后,把数据直接存储到本地存储里,并且存储上一个过期时间,在请求接口前判断本地存储里有没有数据,或者保存的时间有没有过期,如果过期,或者没有数据的话就需要我们调用请求接口的方法从服务器获取数据,如果有数据或者没过期的话就可以直接从本地存储获取,减少请求接口的次数,避免资源浪费。
协商缓存
当我们第一次从服务器请求到数据后,服务器会向客户端返回一个code码200,还有一个标识,还有返回的数据列表,并且把他们存储在本地存储里。下一次需要请求数据的时候向服务器传递标识,如果标识没有变化的话,就说明服务器的数据没有变化,服务器会返回一个状态码304,这时候就从本地存储获取数据就可以了,如果标识符有变化,服务器就会重新返回code200,和新的标识还有新的数据,我们再把新的数据存储到本地存储就可以了
常用标识符
一般的话协商缓存标识符我们会使用ETag和 Last-Modified
Last-Modified含义是最后的修改时间,但是他的时间是以秒为单位,我们一般的话都会要求是以毫秒为单位,所以在对精度要求较高的时候,就建议使用Etag
ETag 每一次请求资源的唯一标识符,当Etag发生改变的话就说明服务器的数据就发生改变了