浏览器缓存分为强缓存和协商缓存,强缓存会直接从浏览器里面拿数据,协商缓存会先访问服务器看缓存是否过期,再决定是否从浏览器里面拿数据。
强制缓存就是文件直接从本地缓存中获取,不需要发送请求。
控制强缓存的字段有:Expires和Cache-Control。
在(Response Headers)响应头增加Cache-Control设置缓存过期时间,
Expires也是用来设置缓存过期时间的
再次请求先判断本地缓存是否过期过期,未过期直接从本地缓存取不用请求服务器获得
控制协商缓存的字段是:Last-Modified / If-Modified-Since 和 Etag / If-None-Match,其中 Etag / If-None-Match的优先级比Last-Modified / If-Modified-Since高。
协商缓存就是请求服务器判断本地资源标识符是否与服务器一样且并未过期,假如没变且没过期就返回304状态码标识资源未修改可直接用本地的,变动了就返回一个新的资源