代码之家  ›  专栏  ›  技术社区  ›  deamon

缺少身份验证的HTTP状态代码

  •  20
  • deamon  · 技术社区  · 15 年前

    HTTP定义状态 401 Unauthorized 对于缺少身份验证,但此状态仅适用于HTTP身份验证。当发生未经授权的请求时,基于会话cookie的系统应返回什么状态?

    3 回复  |  直到 15 年前
        1
  •  25
  •   Martin v. Löwis    15 年前

    正式地说,403禁止是正确的回应。它的定义是

    授权没有帮助,请求不应重复。

    令人困惑的部分可能是“授权无济于事”,但它们实际上是指“HTTP身份验证”(WWW Authenticate)

        2
  •  5
  •   userx    15 年前

    403我相信在技术上是正确的(如果您正在实现一个定制的API/协议,那么可能是最有效的)。

    401不合适,因为它指的是具有WWW Authenticate头的授权,而会话cookie不是。

    如果这是一个面向公众的网站,您试图基于会话cookie拒绝访问,则200使用适当的正文来指示需要登录,或者302临时重定向到登录页通常是最好的。

        3
  •  -1
  •   Vasanth    15 年前

    您可以利用测试条件并通过

    错误代码:401.1-登录失败。登录尝试失败,可能是因为用户名或密码无效。

    它专门用于不正确的密码或不匹配的用户名和密码。 希望这对你有帮助。