区分来自经过认证的API响应的公共API响应

我正在构建一个API,我想在我的Web应用程序和公共网站上使用这个API。 这很简单:

  • 如果进行了认证请求,则返回资源的所有数据。
  • 如果未经身份验证的请求,则返回资源的公共/发布数据。
  • 我想我会考虑使用状态代码来区分基于上述两种行为的响应,而不是在响应中使用元数据。

    对于第一个行为使用状态代码200,对第二个行为使用206代码是可以接受的吗?

    根据http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html,我不清楚206在这种情况下是否正确使用


    对于第一个行为使用状态代码200,对第二个行为使用206代码是可以接受的吗?

    不,这是不可接受的。 206 Partial Content是为响应来自完整响应的某些特定范围的字节的明确请求而给出的状态。 如第10.2.7节所述:

    该请求必须包含一个Range头域(14.35节),表示期望的范围

    在你的情况下,“未认证的请求”本身不包含Range头部,因此206响应将违反规范。

    链接地址: http://www.djcxy.com/p/45421.html

    上一篇: Differentiating public API responses from authenticated API responses

    下一篇: 302 Redirection with AJAX post request: