1.缓存分类:服务器缓存(协商缓存),第三方缓存,浏览器缓存(强制缓存)
2.浏览器缓存(添加 meta),设置请求指定的http头部信息。(状态码200,from cache , from dist)
2.服务器缓存 (状态码 304 )
3.http头部属性
Expires:设置缓存时间(某一个时间点),时间过了就重新发送请求
<meta. http-equiv=”Expires” CONTENT=” Fri, 30 Oct 1998 14:19:41″>
Cache-Control(缓存控制): Cache-Control会覆盖Expires
<meta. http-equiv=”Cache-Control” CONTENT=”no-cache”>
Max-age=s (请求:当同一个请求再s秒内不会再去取发送请求,直接取缓存。响应:包含了请求的过期时间)
public (响应:所有的数据内容被缓存起来,有密码保护的也别缓存,安全性低)
no-cache (请求:不读取缓存文件,直接重新请求服务器。响应:可以缓存数据)
no-store (请求/响应:不会读取和缓存数据)
3.服务器缓存
Last-modifed/if-Modified-Since: (响应:服务器会返回属性Last-Modified<文件修改时间>。请求:再次请求同一个文件,会向服务器发送属性if-Modified-Since<文件修改时间Last-Modified>,服务器进行对比,
相同则返回304(取缓存),不同则返回修改后文件)
Etag/if-No-match: (与Last-modifed/if-Modified-Since基本相同,Etag返回的是唯一ID证明,通过和后台ID做校验)