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