http缓存

  1. service worker
  2. memory cache
  3. disk cache
  4. push cache 主要是http2,缓存时间短
  5. 网络请求

浏览器缓存

Cache-Control:
请求时候的值:

  • no-cache
  • no-store
  • max-age
  • max-stable
  • min-fresh
  • only-if-cached

响应时候的值:

  • public private
  • no-cache no-store
  • no-transform
  • must-revalidate
  • proxy-revalidate
  • max-age
  • s-maxage

强缓存,协商缓存,通过http header实现。

强缓存

通过 expirescache-control 实现
通过Cache-control过期30秒

expires是http1的,过期时间是本地时间。

1
2
Expires: Web,22 xxx
Cache-control: max-age=30

常见的值

协商缓存

如果缓存过期了,就需要发请求验证是否有更新。

  • last-modified 最后修改时间,问题不能打开缓存文件,最小时间秒
  • etag指纹。比较新。

频繁变动的资源 cache-control: no-cache,每次都会请求服务器,然后根据 etag 觉得是否重新拉取数据。虽然数据请求多,但是返回的内容少。

扫一扫,分享到微信

请我喝杯咖啡吧~