经常开发大哥改完bug,重新部署测试环境后,我这个菜鸟测试都会刷新下页面,但是发现有时候bug并没有修复,这个时候开发大哥就会让我清下缓存。那么问题就来了:刷新页面没有清缓存嘛?
这就涉及到了强缓存和弱缓存这两位兄弟喽
1.首先看看强缓存和弱缓存是怎么来的
**强缓存:
**在http协议请求头中设置Expires或者Cache-Control
cache-control: max-age=3600
Expires是用来设置缓存过期时间,cache-control的参数可以设置缓存的过期时间等。
若浏览器发起请求的时候,缓存没有过期,则会直接读取本地缓存
弱缓存:
若未命中强缓存,则会向服务器发起请求:服务器判断页面有没有更新,若没有则会返回304,浏览器去读取本地缓存
2.在读取缓存的时候状态码后面会跟(from memory cache)或者(from disk cache)
(from memory cache):从内存中读取缓存
(from disk cache):从硬盘中读取缓存
至于缓存是存储在哪里这是由后端或者是在nginx等容器或者中间件服务中设置的
3.回答我一开始的问题:刷新页面没有清缓存嘛?
刷新页面是清除的强缓存,但是弱缓存并没有清除。