http缓存 强制缓存 协商缓存
强制缓存 :
当我们从浏览器第一次访问一个网站,浏览器就会向服务器发送http请求 服务器会根据我们的请求返回响应的资源,
如果服务器觉得浏览器请求的资源应该是要缓存的,比如css文件js文件 图片文件等等,
服务器会在响应头 response headers中 增加一个cache control 设置 max-age 的也就是过期的时间 (单位s) 不想缓存 可以设置 no-cache
这样的话 在浏览器的本都缓存里 就会存下对应的资源文件
如果下一次请求相同网站的时候 浏览器会检查 max-age有没有过期 如果没有过期 ,不发起请求,直接从本地缓存里拿资源 从而省去请求的时间 加快响应的速度
cache-control是服务器响应头设置的,所以我们前端是不需要做任何的事情
协商缓存:服务端缓存策略
当我们从浏览器第一次访问一个网站,浏览器就会向服务器发送http请求 如果服务器采用的是协商缓存策略 服务器就会返回资源和资源的标识 浏览器会把资源放入本地缓存
浏览 后续发送请求的时候 不仅会发送请求 还会发送资源标识 服务器会进行判断 当前请求资源 本地缓存里的版本和 服务器里的资源最新版本 是否一致 如果资源一致 服务器会返回304状态码 然后浏览器会直接从本地缓存里拿资源
如果本地缓存里的资源版本和服务器里资源的版本不一致 ,服务器会返回200状态码 ,以及最新的资源和新的资源标识