使用 fetch API 忽略条件 GET

Posted

技术标签:

【中文标题】使用 fetch API 忽略条件 GET【英文标题】:Conditional GET ignored with fetch API 【发布时间】:2021-03-02 19:15:27 【问题描述】:

我正在使用 Discord.js/Node.js 获取和解析 RSS 提要 (https://www.mangaupdates.com/rss.php)。我目前正在尝试添加一个有条件的If-Modified-Since 标头来向RSS 提要发出一个有条件的GET 请求。这是我的代码:

fetch(mangaUpdatesRSS, 
  method: 'GET',
  headers: 'If-Modified-Since': new Date().toUTCString()
)
.then(res => 
  console.log(res.status);

响应状态始终为200,即使它应该仅在自调用fetch 命令时被修改后才发出请求。

【问题讨论】:

这是否适用于 RSS 提要仅在有更新时获取 【参考方案1】:

即使请求的资源是最新的,Fetch API 也会在内部将 304 替换为 200。你对此无能为力。

查看Recognize HTTP 304 in service worker / fetch()

【讨论】:

这似乎没有解决问题。它仍然输出 200。我还认为 fetch API documentation 说 cache 默认为 no-store 如果 If-Modified-Since 设置为标题

以上是关于使用 fetch API 忽略条件 GET的主要内容,如果未能解决你的问题,请参考以下文章

使用 fetch API GET 请求管理 CORS

Discord API 告诉我:“401:未经授权”,当我使用 Google 脚本进行 GET 时:“UrlFetchApp.fetch()”

错误:使用 Fetch API 向第三方 API 发出 GET 请求时出现“TypeError:无法获取”

如何使用 fetch 从一个模块导出从 GET API 获得的响应数据到另一个模块

如何使用fetch(GET Call)设置超时react-native api调用?

使用 Fetch API 发布请求?