缓存小结

当浏览器要请求资源时

1、调用 Service Worker 的 fetch 事件响应

2、查看 memory cache

3、查看 disk cache。这里又细分:

  • 如果有强制缓存且未失效,则使用强制缓存,不请求服务器。这时的状态码全部是 200

  • 如果有强制缓存但已失效,使用对比缓存,比较后确定 304 还是 200

4、发送网络请求,等待网络响应

5、把响应内容存入 disk cache (如果 HTTP 头信息配置可以存的话)

6、把响应内容 的引用 存入 memory cache (无视 HTTP 头信息的配置)

7、把响应内容存入 Service Worker 的 Cache Storage (如果 Service Worker 的脚本调用了 cache.put())

你可能感兴趣的:(缓存小结)