我正在为我的计算机科学论文构建一个动态拼车应用程序的RESTful协议.
在协议中,我还必须正式指定每个操作的HTTP状态代码.我有这个"隐私相关"的问题.假设如下:
GET /api/persons/angela/location
检索用户"angela"的当前位置.很明显,不是每个人都应该能够获得结果.只有安吉拉本身和一个可能会选择她的司机应该能够知道它.
我无法决定是否在这里返回404 Not Found或401 Forbidden.
任何提示?什么是最好的,为什么?
根据Wikipedia(和RFC 2616),当页面存在但需要验证时使用401代码; 403用于认证不会改变任何内容的页面.(在野外,403通常意味着对某些内容的权限是错误的,而401将提示用户输入用户名/密码).404用于文档根本不存在的地方.
在您的情况下,似乎401是最合适的代码,因为有一些方法可以验证可以访问该页面的用户.