未指定所需的 header 时使用什么 HTTP 状态代码?
What HTTP status code use when the required header is not specified?
如果用户向服务器发送请求并且 link 需要设置特定的自定义 headers 才能工作。在这种情况下,错误代码应为 400
、403
或 422
?
HTTP 规范要求任何客户端如果不理解最后两位数字的具体含义,则默认将响应视为 400。因此,您必须始终以某些客户端会将响应视为 400 的假设进行设计。
如果您能找到一个 4xx 状态代码,其特殊的额外处理更适合您的应用程序,请使用它。当客户端理解到足以进行额外处理时,与发送默认状态相比,您的情况会稍微好一些。
当前注册的状态代码似乎与您的服务器含义相符:
- 403 Forbidden - 这是关于服务器拒绝请求,直到它以某种方式更改。最好在回复中说明原因 body.
- 406 不可接受 - 这更具体地说是请求 header 中的值不正确。最常用于接受:header 值。
- 412 Precondition Failed - 这是关于 header 的问题,涉及协商将发送哪个响应 body。最常用于 If-* header 值。
403 似乎是最准确的,因为服务器拒绝提供任何东西,除非发送自定义 headers。
如果用户向服务器发送请求并且 link 需要设置特定的自定义 headers 才能工作。在这种情况下,错误代码应为 400
、403
或 422
?
HTTP 规范要求任何客户端如果不理解最后两位数字的具体含义,则默认将响应视为 400。因此,您必须始终以某些客户端会将响应视为 400 的假设进行设计。
如果您能找到一个 4xx 状态代码,其特殊的额外处理更适合您的应用程序,请使用它。当客户端理解到足以进行额外处理时,与发送默认状态相比,您的情况会稍微好一些。
当前注册的状态代码似乎与您的服务器含义相符:
- 403 Forbidden - 这是关于服务器拒绝请求,直到它以某种方式更改。最好在回复中说明原因 body.
- 406 不可接受 - 这更具体地说是请求 header 中的值不正确。最常用于接受:header 值。
- 412 Precondition Failed - 这是关于 header 的问题,涉及协商将发送哪个响应 body。最常用于 If-* header 值。
403 似乎是最准确的,因为服务器拒绝提供任何东西,除非发送自定义 headers。