Goo*_*ide 5 rest http-status-codes
假设我的服务器公开资源至极有状态(Not approved,Approved,Auto-approved).如果资源处于状态,Not approved则它不应该可以访问客户端,即允许客户端知道资源的存在(他们无论如何),但是在资源处于正确状态之前应该被拒绝访问.
HTTP状态代码应该表达一些内容:"是的,您尝试访问的资源存在,但您必须等到某人批准才能使用.请稍后再试."
在这种情况下应该返回什么HTTP状态代码?返回404 (Not found)似乎不对,因为资源实际上是存在的.状态代码412 (Precondition failed)听起来不错,但RFC谈论了很多关于HTTP标头...
412(前提条件失败)状态代码表示在服务器上测试时,请求标头字段中给出的一个或多个条件评估为false.此响应代码允许客户端在当前资源状态(其当前表示和元数据)上放置前提条件,从而防止在目标资源处于意外状态时应用请求方法.
在说明中提到的条件指的是像HTTP头If-Match,If-Modified-Since,If-None-Match,If-Range或If-Unmodified-Since因此使用412不会在你的情况适合.
如果Not approved资源根本不可用404,仅限于某些用户403或被锁定,我认为这取决于您的解释423.
我会说你的情况423 (Locked)(直到批准)才是正确的答案.
| 归档时间: |
|
| 查看次数: |
672 次 |
| 最近记录: |