Ben*_* K. 37 http http-status-codes
当客户端发布错误数据时,我应返回什么HTTP状态代码(例如,当预期整数时为字符串)?
我一直在使用400 Bad Request,但是当我阅读似乎更适用于HTTP协议错误的HTTP文档时.
我想使用状态代码,以便Flash和AJAX客户端可以区分成功,错误数据和服务器错误,而无需解析响应.
当客户端点击提交按钮时,我真的更倾向于将错误的数据反馈到浏览器中.
如果没有,那么我将返回400,因为标准说:
由于语法格式错误,服务器无法理解请求.客户端不应该在没有修改的情况下重复请求.
如果语法错误,请使用“400 Bad Request”
由于语法格式错误,服务器无法理解该请求。客户端不应该在没有修改的情况下重复请求。
如果数据错误(和正确的语法),请使用“422 Unprocessable Entity”
422(不可处理实体)状态码意味着服务器理解请求实体的内容类型(因此 415(不支持的媒体类型)状态码是不合适的),并且请求实体的语法是正确的(因此是 400(错误请求) ) 状态代码不合适) 但无法处理包含的指令。例如,如果 XML 请求正文包含格式正确(即语法正确)但语义错误的 XML 指令,则可能会出现这种错误情况。
见https://www.bennadel.com/blog/2434-http-status-codes-for-invalid-data-400-vs-422.htm
另请参阅https://softwareengineering.stackexchange.com/a/342896/158699答案,400 和 422 代码均正确。
| 归档时间: |
|
| 查看次数: |
16908 次 |
| 最近记录: |