定义缓存是由header头决定:一共4种、Cache-Control 、Expires 、Last-modified 、ETag
一、Cache-Control的可能取值:
1、max-age(单位s):指定设置缓存的最大的有效时间,定义的是时间长短。当浏览器向服务器发送请求后,在max-age这段时间里浏览器就不会再向服务器发送请求了。
2、s-maxage(单位s):只用于共享缓存,(如CDN缓冲),用法和max-age。
3、publice:指定响应会被缓存,并且存在多用户共享。
4、private:响应只作为私有的缓存,不能在用户间共享。
5、no-cache:指定不缓存响应,表明资源不进行缓存。no-cache 和private可以不能保证不缓存,还要加上过期时间。
6、no-store:绝对禁止缓存。
7、must-revalidate:指定如果页面是过期的,则去服务器进行获取。
二、Expires:
缓存过期时间,用来指定资源到期的时间,是服务器端的具体的时间点。Expires = max-age + 请求时间
三、Last-modified:
服务器文件的最后修改时间,需要和cache-control共同使用,是检查服务器端资源是否更新的一种方式。
四、ETag:
根据试题内容生成一段hash字符串,标识资源的状态,由服务端产生。
在前端只要使用Cache-Control 和 Last-modified。
时间: 2024-11-02 23:34:22