400:Bad Request 表示客户端发出的请求不支持或无法识别,这通常是并未使用正确的请求语法。例如post或者put请求中资源的某个字段被设置为空的话,这将会导致一个Bad Request响应。响应正文应该包含协商好的格式或者默认无协议下的格式描述出改糟糕请求的原因。
401:Unauthorized 表示在访问资源或者执行请求的状态转换之前需要进行认证或授权。响应的内容将随着认证协议的不同而不同(例如OAuth)
403:Forbidden 表示客户端(尽管已通过认证)没有访问资源或者执行请求状态转换的权限。这取决于你所采用认证协议,使用含有更多权限的请求重新认证可能会解决这个问题。
404:Not Found 资源不存在。永远应该使用他表示资源不存在,除了状态转换不支持或不允许的情况,这应该通过405或403来实现。
405:Method Not Allowed 意味着不支持请求的状态转换(http方法)。这永远也不应该用于表示客户端没有权限执行状态转换的情况,这应该通过403来实现。
406:Not Acceptable 表示服务器不支持Accept头中请求的表示格式。例如客户端可能使用请求application/xml格式,但服务区只能只生成application/json。在这种情况下服务器只会返回默认支持的表示格式,而不是406,大多数供应商也是这样做的。
415:Unsupported Media Type 非常类似于406,它表示请求中的Connect-Type(请求实体的表示)头是一种服务器无法支持的类型。服务器可能也报也包含了一个Accept响应头,用于表示服务器支持那些媒体类型。有可能Accept请求头和Content-Type都不支持媒体类型,在这种情况下服务器优先返回415,应为406是一个可选的响应。
500:Internal Server Error 表示在处理请求的过程中出现了错误。