1. 前端缓存
前端缓存主要分为HTTP缓存和浏览器缓存,HTTP缓存是是在http请求时,给请求报文头部设置缓存配置来实现的;浏览器缓存是前端在写js时写的设置缓存的代码。
2. HTTP缓存请求过程
浏览器第一次向服务器发起该请求后拿到请求结果,会根据响应报文中HTTP头的缓存标识,决定是否缓存结果,是则将请求结果和缓存标识存入浏览器缓存中。客户端以后再请求的时候,就先从缓存中取值,缓存中没有的再到服务器获取。
一般HTTP缓存分为强缓存和协商缓存。
2.1 强制缓存
2.1.1强制缓存
强制缓存就是客户端向浏览器缓存查找请求结果,并根据该结果的缓存规则来决定是否使用该缓存结果的过程。强制缓存的情况主要有三种:
(1)不存在该缓存结果和缓存标识,强制缓存失效,则直接向服务器发起请求(跟第一次发起请求一致)
(2)存在该缓存结果和缓存标识,但该结果已失效,强制缓存失效,则使用协商缓存