首页 > 代码库 > 浏览器缓存

浏览器缓存

定义缓存是由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。

 

浏览器缓存