我一直在为登录请求寻找正确的 HTTP 状态代码,但我没有找到任何可以表明存在的东西。
然后,我注意到 GMail 和 Facebook 在失败时用新页面做出响应。
我有两个问题: - 登录失败是否有正确的 HTTP 状态代码? -Google 和 FB 都使用新网页而不是某种错误进行响应是否出于安全原因?
最佳答案
对于基于 HTTP 的身份验证方法,IETF 规范如下:
“源服务器使用 401(未授权)响应消息来 挑战用户代理的授权,包括 WWW-Authenticate 头字段包含至少一个挑战 适用于请求的资源。” IETF
Google 和 Facebook 可能使用类似 OpenAuth 的东西,而不是标准的 HTTP 身份验证。 OpenAuth使用基于重定向的身份验证。基于表单的身份验证由所采用的应用程序技术实现,并且可能涉及重定向。
简而言之,对于纯 HTTP 身份验证(基本、摘要),服务器应返回 401 或 407。但对于其他类型的身份验证机制,可能会采用重定向。
请浏览我包含的链接,它们将为您提供更深入的信息。
关于facebook - 登录请求失败的正确 HTTP 状态代码是什么? (或者为什么 gmail/fb 响应新页面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41602425/