13

根据规范,fetch api 有多种缓存模式。(“default”、“no-store”、“reload”、“no-cache”、“force-cache”和“only-if-cached”)但是,尚不清楚每种模式的用途,或者浏览器支持的状态。

4

2 回答 2

11

您可以在此处查看 polyfill 的文档:https ://fetch.spec.whatwg.org/

它确实解释了每个值的含义

"default"Fetch 将在通往网络的途中检查 HTTP 缓存。如果有新的响应,它将被使用。如果有过时的响应,将创建一个条件请求,否则创建一个正常请求。然后它使用响应更新 HTTP 缓存。[HTTP]

"no-store"Fetch 的行为就像根本没有 HTTP 缓存一样。

"reload"Fetch 的行为就像在通往网络的路上没有 HTTP 缓存一样。因此,它创建一个正常请求并使用响应更新 HTTP 缓存。

"no-cache"如果 HTTP 缓存中有响应,Fetch 创建一个条件请求,否则创建一个正常请求。然后它使用响应更新 HTTP 缓存。

"force-cache"Fetch 使用与请求匹配的 HTTP 缓存中的任何响应,而不注意陈旧性。如果没有响应,它会创建一个正常的请求,用响应更新 HTTP 缓存。

于 2016-04-07T19:29:17.313 回答
1

对于与 HTTP 令牌名称匹配的那些,它们旨在具有相似的语义。不幸的是,现在您必须通过规范的算法来理解大多数这些值的含义。此外,目前还不清楚其中有多少会被标准化,因为它们可能存在一些安全问题,所以我最终可能会删除此功能的 API。

于 2015-09-27T17:10:04.323 回答