【发布时间】:2022-10-04 16:43:39
【问题描述】:
我有两个版本的 API,可以通过功能标志进行切换。 (一个返回application/json,另一个返回application/octet-stream)
当我启用功能标志以使用新的application/octet-stream 时,他们收到failed to fetch 的API 似乎有一小部分用户。 octet-stream API 工作且没有相同浏览器版本和操作系统的用户。不同的用户有相同的浏览器版本和操作系统。
这是我为这两个 API 发送的请求标头。
"headers": {
"accept": "*/*",
"accept-language": "en-US,en;q=0.9",
"authorization": "...",
"content-type": "application/json",
"sec-ch-ua": "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"", // They would be using Chrome and it might be v102
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "// I believe this would be Windows 10",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-site",
},
"referrer": "...",
"referrerPolicy": "no-referrer-when-downgrade",
"body": "...",
"method": "POST",
"mode": "cors",
"credentials": "include"
这是来自日志的错误(类似于没有连接但服务器收到请求并且其他 API 似乎根据日志正确返回的错误)
"error": {
"message": "Failed to fetch",
"name": "TypeError",
"stack": "TypeError: Failed to fetch\n (...the chunks it failed at)"
},
有谁知道可能导致此问题的原因是什么?我是否缺少请求或响应标头,例如更改接受编码?还是可能是公司防火墙?
【问题讨论】:
-
分享完整的错误以及导致它的 HTTP 请求和响应
-
啊,我刚刚添加了更多细节
-
仍然需要所有细节。该错误是一种改进,但即使是错误本身仍有部分缺失。
-
不幸的是,这就是我可以从这个臭名昭著的
Failed to fetch错误中得到的所有细节。除非您有关于如何从该错误中获取更多详细信息的想法?我可以添加更多日志记录。在网上看,当用户没有互联网连接等时,这似乎可以回来,但除此之外没有其他细节。但我知道用户有互联网连接,因为其他 API 工作正常。 -
是的,如果您还没有自己复制它,请尝试记录更多。这里没有很多工作要做。我尝试根据部分错误进行谷歌搜索,但运气不佳。发生这种情况时获取完整的请求和响应。
标签: http browser http-headers octet-stream