我正在创建一个 RESTful 服务来向 Web 应用程序提供数据。我对此有两个相关的问题。
1.如何处理未经授权的请求?
我打算使用以下代码响应请求:
- 资源是否打开并找到?200 好
- 您是否需要通过身份验证才能访问资源?401未经授权
- 您无法访问某一类别的资源吗?403 禁止
- 您是否有权访问某一类别的资源,但不能访问该特定资源?404 Not Found以防止人们知道他们无权访问的资源的存在。
- 资源不存在吗?404 未找到
这是 RESTful 服务的推荐方式吗?
2. WWW-Authenticate
401 响应应该提供什么标头?
我在Wikipedia上读到(可能不是最准确的资源,但它对我有用),401 响应必须包含WWW-Authenticate
标头,但是在进一步搜索后,我真的找不到任何说明这个值的含义和应该是什么的资源.
我发现了几个关于这个标题的 SO 问题和论坛主题,它们似乎都是关于 OAuth,建议不要使用 401 状态代码,或者说你可以编造一些东西。
此标头应包含的正确值是多少?