客户端缓存笔记,强制缓存|协商缓存(对比缓存)

强制缓存

强制缓存:设置缓存机制后,前端第一次请求到资源会把资源缓存到客户端,如果下次请求时资源没有过期,那么直接调用本地缓存的资源,如果过期则重新发送请求。
注意点:

  • 强制缓存由服务端开启,利用http头中的Expires和Cache-Control两个字段来控制
    Expires:response header里的过期时间,浏览器再次加载资源时,如果在这个过期时间内,则命中强缓存(http1.0的产物,现在一般用cache-control)
    Cache-Control:当值设为max-age=300时,则代表在这个请求正确返回时间(浏览器也会记录下来)的5分钟内再次加载资源,就会命中强缓存。

  • 客户端设置请求头Cache-Control,只有为:’no-store’ | ‘no-cache’ |
    ‘max-age=0’才会生效(也就是客户端不想走强制缓存的时候生效),除非后端对这个字段做了处理

  • 强制缓存不用和服务端交互

  • post请求不能设置缓存,只有get请求有效

协商缓存

协商缓存:第一次请求资源时,服务器会返回资源以及资源标识,当下次请求时,会对比资源标识,如果一致,则只返回状态码304,不用返回资源,如果不一致,则会返回资源和新的资源标识

  • 304状态码不应该认为是一种错误,而是对客户端有缓存情况下服务端的一种响应。
  • 协商缓存需要和服务器交互

Guess you like

Origin blog.csdn.net/qq_38974163/article/details/119890262