强制缓存与协商缓存_笔记

强制缓存与协商缓存_笔记_第1张图片
由上图我们可以知道:

浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识
浏览器每次拿到返回的请求结果都会将该结果和缓存标识存入浏览器缓存中。

缓存分为强制缓存协商缓存

强制缓存:强制缓存就是向浏览器缓存查找该请求结果,并根据该结果的缓存规则来决定是否使用该缓存结果的过程。分为三种情况:

1.不存在该缓存结果和缓存标识,强制缓存失效,则直接向服务器发起请求。
2.存在该缓存结果和缓存标识,但该结果已失效,强制缓存失效,则使用协商缓存。
3.存在该缓存结果和缓存标识,且该结果尚未失效,强制缓存生效,直接返回该结果。

协商缓存:协商缓存就是强制缓存失效后,浏览器携带缓存标识向服务器发起请求,由服务器根据缓存标识决定是否使用缓存的过程。

总结:强制缓存优先于协商缓存进行,若强制缓存(Expires和Cache-Control)生效则直接使用缓存,若不生效则进行协商缓存协商缓存由服务器决定是否使用缓存,若协商缓存失效,那么代表该请求的缓存失效,重新获取请求结果,再存入浏览器缓存中;生效则返回304,继续使用缓存,主要过程如下:
强制缓存与协商缓存_笔记_第2张图片
内容来自知乎,侵删!

你可能感兴趣的:(缓存,http)