Web缓存的生命周期
1、若设置了响应头的特定位置,则不缓存
2、如果请求是认证或者加密的,则相应的内容也不缓存
3、若有完整的过期时间和寿命控制头信息,则是新鲜的,或者缓存展现出来并在不久前修改过,也可以认为新鲜的
响应如果没有类似ETag或Last-Modified头这样的校验器,也没有明确的更新信息,通常(并不绝对)认为是不可缓存的。
以上是验证是否存在缓存的条件。
Web缓存设置
1、通过HTML标签<meta>设置不缓存或者过期时间,但不是所有浏览器都支持。
2、设置HTTP头信息,Expires
这个属性是告诉浏览器缓存有效期,缓存时间和服务器时间要一致,他们一般用来设置绝对过期时间,然后对比最后一次访问或修改时间来判断应该用哪种方式去获取数据
3、用Cash-Control控制
4、验证器验证
验证器的作用是验证功能缓存的内容是不是最新的。最常见的验证是通过Last-Modified
头信息通信确定文档最后的修改时间,如果缓存有内容存储,会包含Last-Modified
信息的,辅助If-Modified-Since
请求,我们可以询问服务器内容是否改变了