获取API缓存模式

时间:2015-07-24 02:20:59

标签: javascript caching fetch-api

根据spec,fetch api有各种缓存模式。 ("默认"," no-store","重新加载"," no-cache"," force-cache&#34 ;和" only-if-cached")但是,它并不清楚每种模式的用途或浏览器支持的状态。

2 个答案:

答案 0 :(得分:8)

您可以在此处查看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缓存。

答案 1 :(得分:1)

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