gpt4 book ai didi

http - 登录失败时返回正确的状态码

转载 作者:可可西里 更新时间:2023-11-01 16:11:12 25 4
gpt4 key购买 nike

我有一个 RESTful 登录网络服务。但是,在传递给它的一组凭据无效的情况下,关于返回什么状态代码最好的内部争论一直存在。我一直在返回 401;但这似乎不正确,因为它意味着您必须已经登录才能使用登录服务。 403也讨论过;但这意味着您已经通过身份验证但被限制使用给定资源。也许是 404;因为找不到具有所述凭据的用户。

如果凭据无效,从登录服务返回的正确状态代码是什么?

如果重要的话,Web 应用程序和 iPhone 应用程序都在使用此 REST 登录 API。

最佳答案

我相信您很难找到合适的 HTTP 状态代码是因为 RESTful 登录 Web 服务是矛盾的。也就是说:RESTful API 端点公开了 HTTP 动词操作所依据的资源。登录服务是一个过渡 Action (例如建立一个 session 或类似的)。因此,您的 RESTful API 返回此过渡操作的 HTTP 状态代码是不自然的。

话虽这么说,您没有指定端点是什么,也没有给出它如何运作的线索。我可以推测,理论上,RESTful API 登录服务可以这样运行:

创建 session 的 RESTful 调用

POST /api/sessions/
response would be
201 - Created
/api/sessions/12345abcdef

因此客户已经“登录”。显然,我假设某些凭据将通过 header 或查询参数传入。

然后注销会是

DELETE /api/sessions/12345abcdef

但我怀疑这在纯 RESTful 路径的道路上走得太远了

关于http - 登录失败时返回正确的状态码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23917679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com