gpt4 book ai didi

http - 如果 HTTP 状态是错误代码,Chrome 无法下载响应正文

转载 作者:行者123 更新时间:2023-12-04 11:29:10 25 4
gpt4 key购买 nike

我有一个 Node.js Express Web 服务器,它在出现问题时返回 HTTP 响应 JSON 有效负载以及错误状态(4xx 或 5xx)。

res.status(500).json({ error: 'message' });

从 Chrome 浏览器开发者控制台的计时部分,我可以看到在“内容下载”部分花费了大量时间(最多 5 分钟),最终我在下载失败后在“响应”部分收到“无法加载响应数据”。

Chrome developer console timing output

其他浏览器(如 Firefox 和 Opera)能够成功下载 JSON 有效负载并将其显示在各自的开发人员控制台中。

如果我将 HTTP 状态发送回 200,Chrome 下载负载就没有问题。

此外,如果我不将 Cache-Control HTTP header 设置为“no-store, no cache...”,Chrome 能够成功下载 4xx/5xx 状态的负载。但是,我想将此 header 设置为防止缓存滥用的好方法。

HTTP Response Headers in the success and failure case

我需要为 Chrome 做一些具体的事情吗?

谢谢!

最佳答案

我刚刚遇到了类似的问题。对于请求,我使用了 fetch API,如果出现错误,我没有读取响应正文的流。
响应正文的内容既没有显示在 devtools 中,也没有包含在 HAR 中的请求。导出。
在控制台中调试之后,我注意到内容会在我阅读流时立即显示在响应或预览选项卡中。 (例如:await response.text())
奇怪的是,当未设置相应的缓存 header 时,行为会按照您的描述发生变化。

关于http - 如果 HTTP 状态是错误代码,Chrome 无法下载响应正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47692658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com