的HTTP/1.1规范(RFC 2616)具有以下对的意义上说的状态代码400,错误的请求(§10.4.1) :
由于语法格式错误,服务器无法理解请求.客户端不应该在没有修改的情况下重复请求.
现在,在一些基于HTTP的API中似乎存在一种普遍的做法,即使用400来表示请求的逻辑错误而不是语法错误.我的猜测是API这样做是为了区分400(客户端引发)和500(服务器引发).使用400表示非语法错误是否可接受或不正确?如果可以接受,RFC 2616上是否有注释参考,可以更深入地了解400的预期用途?
例子: