强制缓存:
当浏览器访问某个资源的时候,使用已经存在的资源,不会向服务器发送请求。
使用缓存会缓存在磁盘缓存(disk cache)和内存缓存(memory cache)。较大的存在磁盘,较小的则被存到内存中。
cache-control: max-age: 缓存的时间;no-cache:不使用强制缓存但会使用协商缓存;no-store:不使用缓存; 在响应标头中根据cache-control和Date可以判断强缓存的时间,如果失效则判断expires,如果失效再向服务器发送求获取资源。
协商缓存
浏览器第一次请求资源的时候,服务器返回资源同时会生成一个Etag和Last-Modified. 浏览器再次请求资源的时候会携带If-None-Match和If-Modified-since和服务器的资源文件进行对比,如果改变则返回200以及最新的资源,否则返回304