1

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

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

建议 404,但我的教授说 404 用于未找到与 URI 关联的资源,而不是当您提交带有错误参数的格式良好的请求时。

什么是最合适的 http 状态,您为什么会选择?

4

2 回答 2

2

在我看来,它适合:

400 - 错误请求

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

或者

403 - 禁止

服务器理解请求,但拒绝执行。授权将无济于事,并且不应重复请求。如果请求方法不是 HEAD 并且服务器希望公开请求未完成的原因,它应该在实体中描述拒绝的原因。如果服务器不希望向客户端提供此信息,则可以使用状态代码 404(未找到)来代替。

参考:fc2616

于 2013-07-14T18:15:02.320 回答
1

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

于 2013-07-14T15:30:37.523 回答