浏览器缓存其实就是浏览器保存通过HTTP获取的所有资源,是浏览器将网络资源存储在本地的一种行为。
哪些资源可以被缓存?——一些静态资源(JS CSS img图片)
# 强制缓存
# 协商缓存
# 总结
http缓存——强制缓存Cache-Control
- 存放在Response Header中
- 控制强制缓存的逻辑
- 例如:Cache-Control: max-age=31536000(单位是秒)
浏览器第一次向服务器发起请求,服务器200返回资源和Cache-Control
当浏览器再次请求资源时,会优先读取本地的缓存,如果本地缓存有,就直接返回资源给浏览器,不用再去请求服务器
当缓存过期(超过max-age的时间啦),浏览器会向服务器请求资源,服务器200会返回资源和新的Cache- Control,本地拥有新的缓存,重复第二步操作
Cache-Control的值:
- max-age
- private
- no-cache
- no-store
- public
关于Expires,也存放于Response Header中,也是控制缓存过期,但现在已经被Cache- Control替代啦
http缓存——协商缓存
协商缓存是一种服务器端的缓存策略,服务器判断客户端资源是