在post请求中的坏参数的Http状态代码

时间:2013-07-14 15:25:56

标签: client-server http-status

我有一台服务器,客户端可以将自己注册为设备(如移动设备)。对于注册,设备必须与已经在服务器上注册的另一个资源(例如用户)相关联。为此,客户端向服务器发送一个Http Post请求,其中包含两个参数,它自己的ID和相关的资源ID。

当客户端要求服务器执行某些过程并且找不到参数中指示的资源之一时,我需要选择一个Http Status代码来返回。

suggested 404,但是我的教授说404使用了与URI相关联的资源,而不是当你提交一个格式错误的参数请求时。

什么是最合适的http状态,为什么选择。

感谢。

2 个答案:

答案 0 :(得分:1)

我会使用403'Forbidden' - 意思是,禁止您使用已发送的请求访问该页面

答案 1 :(得分:1)

在我看来,它符合:

  

400 - 错误请求

由于语法格式错误,服务器无法理解该请求。客户端不应该在没有修改的情况下重复请求。

OR

  

403 - 禁止

服务器理解请求,但拒绝履行请求。授权无效,请求不应重复。如果请求方法不是HEAD并且服务器希望公开为什么请求没有得到满足,那么它应该描述实体中拒绝的原因。如果服务器不希望将此信息提供给客户端,则可以使用状态代码404(未找到)。

参考:fc2616