2009-09-01 104 views
31

当客户端发布错误数据时(例如,预期整数时的字符串),应该返回什么HTTP状态代码?错误数据的HTTP状态代码

我一直在使用400错误请求,但当我通过HTTP文档阅读,似乎更适用于HTTP协议错误。

我想使用状态码,以便Flash和AJAX客户端可以区分成功,错误的数据和服务器错误,而无需解析响应。

回答

46

这正是400的用途。是的,它被用于糟糕的HTTP协议使用,但它并非专门用于此目的。

+1

根据OP的问题,如果客户端发出带有'integer'的HTTP请求,如预期那样。但是,让我们说这个整数代表用户的id。如果服务器找不到该用户,是否应该返回'400'? – 2014-07-11 17:31:02

+7

在这种情况下,404将是最好的事情@KevinMeredith – DasDave 2014-08-20 11:05:41

5

当客户端点击提交按钮时,我真的更倾向于将错误的数据回收到浏览器中。

如果没有,那么我会返回400,因为作为标准说:

请求不能被服务器因为语法错误的理解。客户端不应该在没有修改的情况下重复请求。

+3

你应该可以做到这一点。没有保证您的API正在被浏览器使用。 :) – weberc2 2016-01-14 18:39:53