首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么时候以HTTP 412错误响应比较合适?

什么时候以HTTP 412错误响应比较合适?
EN

Stack Overflow用户
提问于 2011-03-20 23:40:54
回答 3查看 87.1K关注 0票数 58

我不清楚何时应该和不应该返回HTTP 412: web服务的前置条件失败,错误?我正在考虑在验证数据时使用它。例如,如果客户端发布XML数据,而该数据缺少必需的数据元素,则返回412和错误描述。

这是否与使用HTTP 412响应的精神一致,还是应该使用其他东西(例如,另一个http错误代码或web应用程序异常)?

EN

回答 3

Stack Overflow用户

发布于 2011-03-20 23:57:33

如果您查看RFC 2616,您将看到许多可用于将条件应用于请求的请求头:

代码语言:javascript
运行
复制
If-Match
If-Modified-Since
If-None-Match
If-Range
If-Unmodified-Since

这些标头包含“前置条件”,允许客户端告诉服务器只有在满足特定条件时才完成请求。例如,您使用PUT请求来更新资源的状态,但是您只希望PUT在您最近的GET之后没有被其他人修改过的情况下执行操作。

响应状态代码412 (前置条件失败)通常在这些前置条件失败时使用。

您的示例听起来像是一个无效的请求(即客户端提交了由于缺少值而无效的数据)。在IMO中,状态代码400 (错误请求)更合适。

票数 78
EN

Stack Overflow用户

发布于 2011-03-21 00:47:15

412保留用于请求是有条件的,但不满足条件的情况。

对于您的用例,422 Unprocessable Entity是一个很好的匹配。

票数 21
EN

Stack Overflow用户

发布于 2011-03-20 23:46:45

你最好的选择是避免412。实际上,我使用过的大多数web服务都会发送一个400 code (Bad Request)。很多框架也内置了对400的支持,你的客户会喜欢更常见的错误代码。通常情况下,特别是使用REST接口时,会返回一个简单的"message“或"error”元素以及一个描述。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5369480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档