何时应将HTTP 400 Bad Request用作响应代码?

时间:2012-02-15 21:30:37

标签: httpresponse

根据维基百科,响应代码400表示The request cannot be fulfilled due to bad syntax.

这是否是在无效但语法正确的数据时返回的适当状态代码?如果没有,那是什么?

1 个答案:

答案 0 :(得分:1)

我并不认为自己是专家,但让我们比较the spec所说的内容:

400 Bad Request - The request could not be understood by the server due 
to malformed syntax....

所以400似乎特定于语法错误。这是另一个看起来更好的语法是好的但是值不是:

409 Conflict - The request could not be completed due to a conflict with 
the current state of the resource...

在决定之前你会想要阅读the full description for 409(它更冗长),但对于给定的场景,这似乎是更好的选择。它说冲突最有可能发生在PUT请求中,但是当我读到它时,似乎它可以在输入变量无效的任何时候应用。这就是我认为我将用于构建的RESTful API。