首页 > 解决方案 > 常见的 http 库中如何定义错误?数据和错误可以共存吗?

问题描述

库中使用的回调函数http request通常有一个参数 forerror和 1(或 2)多个用于响应内容。

但是,我找不到错误对象的明确定义以及错误和响应对象之间的关系(主要是如果它们可以共存)。

对于Q1,我的第一印象是可以通过状态码来分类。如果是这样,http中的错误只能有两个类别之一(客户端/服务器)?

对于第二季度,我相信在某些情况下两者兼而有之是有意义的。例如,服务器可能响应 a 451 Unavailable For Legal Reasons,但仍尽力返回一些字段?

标签: node.jshttprequestfetch

解决方案


“数据和错误可以共存吗?”

是的,它们可以共存。实际上,根据RFC7231 (HTTP Semantics and Content)

3.3. 有效载荷语义

...

带有错误状态代码的响应消息通常包含一个表示错误条件的有效负载,以便它描述错误状态以及建议的后续步骤来解决它。

“常见的 http 库中如何定义错误?”

这是 HTTP 库实现逻辑。由于任何人都可以开发 HTTP 库,解析响应负载并做任何他/她想做的事情,“如何定义错误”问题主要由库设计者决定,没有标准可以回答。


推荐阅读