我的服务器是否应该传递来自 'nested'/proxy 请求的 http 状态代码?
Should my server pass along the http status code from a 'nested'/proxy request?
我有 api 访问我的服务器以从另一个站点获取数据。 (我将以 facebook 为例)
当我点击 api 端点时,服务器将尝试为我的 facebook 帐户返回 facebook 图片。如果我还没有授权我的 facebook 帐户,我应该将 401 状态代码发送回前端,还是在服务器上处理它并发送一个 200 并返回失败的响应。 (具体怎么说失败我不关心)
示例:
我点击了一个"get photos from facebook"按钮。
mydomain.com/get-facebook-photos/
---> 服务器向 facebook.com/whatever-the-url-is/
Facebook return 发送 401,因为我需要登录。
我的响应代码应该来自 mydomain.com/get-facebook-photos/
?
我认为当我被授权访问时,我自己的端点 return 401 会很奇怪,但下一级不是。
这方面的最佳做法是什么。我更喜欢某种类型的文档,其中列出了最佳实践和原因等。
显然,我必须在某个地方处理 401,我认为最好的地方是我的 server/endpoint。
我认为一般答案是 return 502。
但是,对于这个请求,401 更有意义。特别是如果他们没有授权您的服务。 return 上游状态代码可能还有其他用例。
此外,如果您执行 return 502,这有助于 return 上游状态和警告。这些应该 return 在警告 header 中编辑。
我有 api 访问我的服务器以从另一个站点获取数据。 (我将以 facebook 为例)
当我点击 api 端点时,服务器将尝试为我的 facebook 帐户返回 facebook 图片。如果我还没有授权我的 facebook 帐户,我应该将 401 状态代码发送回前端,还是在服务器上处理它并发送一个 200 并返回失败的响应。 (具体怎么说失败我不关心)
示例:
我点击了一个"get photos from facebook"按钮。
mydomain.com/get-facebook-photos/
---> 服务器向 facebook.com/whatever-the-url-is/
Facebook return 发送 401,因为我需要登录。
我的响应代码应该来自 mydomain.com/get-facebook-photos/
?
我认为当我被授权访问时,我自己的端点 return 401 会很奇怪,但下一级不是。
这方面的最佳做法是什么。我更喜欢某种类型的文档,其中列出了最佳实践和原因等。
显然,我必须在某个地方处理 401,我认为最好的地方是我的 server/endpoint。
我认为一般答案是 return 502。
但是,对于这个请求,401 更有意义。特别是如果他们没有授权您的服务。 return 上游状态代码可能还有其他用例。
此外,如果您执行 return 502,这有助于 return 上游状态和警告。这些应该 return 在警告 header 中编辑。