http - 当资源可用但由于权限而无法访问时更正 HTTP 状态代码

标签 http rest resources http-status-codes

我正在为我的计算机科学论文构建一个用于动态拼车应用程序的 RESTful 协议(protocol)。

在协议(protocol)中,我还必须正式指定每个操作的 HTTP 状态代码。我遇到了这个“与隐私相关”的问题。假设如下:

GET/api/persons/angela/location

检索用户“angela”的当前位置。 显然不是每个人都能获得结果。只有安吉拉本人和可能会接她的司机应该知道。

我无法决定是在此处返回 404 Not Found 还是 401 Forbidden。

有什么提示吗?什么是最好的,为什么?

最佳答案

根据 Wikipedia (和 RFC 2616 ),当页面存在但需要身份验证时使用 401 代码; 403 用于验证不会改变任何内容的页面。 (在野外,403 通常意味着对某事的权限错误,而 401 将提示用户输入用户名/密码)。 404 表示文档根本不存在。

在您的情况下,401 似乎是最合适的代码,因为有一些方法可以对有权访问该页面的用户进行身份验证。

关于http - 当资源可用但由于权限而无法访问时更正 HTTP 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3547474/

相关文章:

c# - 在 .Net C# 中释放资源

memory-management - 如何计算Kubernetes集群的节点可分配资源?

ruby-on-rails - 在 202 响应上重试 POST 请求 - Faraday gem

angular - 是否有健康 REST API 可以检查 Microsoft Azure 嵌入式 Power BI 服务 URL (https ://api. powerbi.com/) 的状态(正常或关闭)?

android - 如何使用 DexGuard 混淆 XML 资源文件?

javascript - 即使来源相同,Chrome 也会阻止 iframe 请求作为跨域请求

java - EntityResponse 字符集编码错误

performance - 了解 Charles 调试代理的计时值

http - 在 Go http 处理程序中处理 Write 调用错误的最佳方法

python - HTTP 响应 Python 中缺少 cookie