HTTP 状态代码“不接受 EULA”?

Ale*_*ler 5 rest http http-status-codes

我有一个 RESTful Web 服务,需要先接受最终用户许可协议 (EULA),然后才能使用。

如果 EULA(尚未)被接受,哪种 HTTP 状态代码最适合 Web 服务返回?

目前我看到以下可能性(我目前最喜欢的以粗体显示):

  • 403 禁忌
  • 412 前提条件失败
  • 417 期待落空
  • 423 锁定
  • 第428章 需要先决条件#
  • 第451章 因法律原因无法联系

Ale*_*ler 5

按照CodeCaster的建议,我访问了 w3.org 并查看了RFC2616 中 HTTP 状态代码的定义。我发现状态代码 403 最合适:

10.4.4 403 禁止

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