通常浏览器缓存策略分为两种:强缓存和协商缓存,并且缓存策略都是通过设置 HTTP Header 来实现的。
强缓存(如果命中就不会去请求服务器,返回状态码200)
如何设置强缓存?
1,设置http头:Cache-Control,以客户端相对时间为准
Cache-Control:max-age=3600(单位是秒)。
2,expires(http1.0产物)会将资源的实效日期告知客户端。
Expires 的一个缺点就是,返回的到期时间是服务器端的时间,这样存在一个问题,如果用户更改了本地时间,就有可能造成误差
当同时设置cache-control和expires时,会优先使用cache-control
协商缓存(如果资源没有做改变,那么服务端就会返回 304 状态码 Not Modify)
1,If-Modified-since(请求)Last-Modified (响应),
首次请求服务器会返回资源的更新时间,
以后请求会在请求头携带if-mo