我正在编写一个本机应用程序,并从一个支持If-Modified-Since header 的API进行轮询。

我的要求是:

const response = await fetch(
  uri,
  {
    method: 'GET',
    cache: 'no-store',
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json',
      Authorization: `token ${token}`,
      'If-Modified-Since': lastUpdatedAt.toUTCString(),
    },
  }
);

现在,问题在于此请求将始终返回等于response.status200,而如果我使用CURL运行相同的请求:
curl -s -o dev/null -w "%{http_code}" $uri -H "If-Modified-Since: Mon, 27 Nov 2017 11:36:41 GMT"

它将正确返回304

我究竟做错了什么?我是否需要设置其他选项?

最佳答案

我有一个类似的问题。似乎检查304状态不可靠。在这里看:Recognize HTTP 304 in service worker / fetch()

09-12 00:45