rest - 我的服务器是否应该传递来自 'nested'/proxy 请求的 http 状态代码?

标签 rest http http-status-codes

我有一个 api 可以访问我的服务器以从另一个站点获取数据。 (我将以 facebook 为例)

当我点击该 api 端点时,服务器将尝试为我的 facebook 帐户返回 facebook 图片。如果我还没有授权我的 facebook 帐户,我应该将 401 状态代码发送回前端,还是在服务器上处理它并发送一个 200 并返回失败的响应。 (我不关心具体怎么说失败了)

例子:

我点击“从 facebook 获取照片”按钮。

mydomain.com/get-facebook-photos/ ---> 服务器触发到 facebook.com/whatever-the-url-is/ Facebook 返回一个401 因为我需要登录。

mydomain.com/get-facebook-photos/ 我的响应代码应该是什么?

我原以为我自己的端点在我被授权访问时返回 401 会很奇怪,但下一级却不是。

这方面的最佳做法是什么。我更喜欢某种类型的文档,其中列出了最佳实践和原因等。

显然,我必须在某个地方处理 401,我认为最好的地方是在我的服务器/端点上。

最佳答案

我认为一般的答案是返回 502。

然而,对于这个请求,401 更有意义。特别是如果他们没有授权您的服务。可能还有其他用例需要返回上游状态代码。

此外,如果确实返回 502,返回上游状态和 Warning 也很有帮助。这些应该在警告 header 中返回。

关于rest - 我的服务器是否应该传递来自 'nested'/proxy 请求的 http 状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39106438/

相关文章:

angularjs - 与 promise 和 Angular 拦截器混淆

rest - 证书发现服务

rest - 生成访问 token Instagram API,无需登录?

objective-c - RestKit 0.20 映射问题

java - 为什么仅在使用 Java HTTP 客户端时才收到 HTTP 响应状态代码 451?

rest - 使用 reSTLet 调用 Camel Rest 服务给我 401

http - Golang 创建动态函数(在运行时)

c# - 如何从异常中获取 IIS 子状态代码?

php - 应使用哪些 HTTP 状态代码来为下载管理器提供建议?

rest - 请求参数冲突的 HTTP 状态?