Skip to content

http 状态码 401 与 403 的区别

HTTP 401 和 403 都是 HTTP 协议定义的状态代码,它们与权限和身份验证有关,但意义是不同的:

1. 401 Unauthorized(未授权):

  • 这意味着请求缺少有效的身份验证凭证,或者提供的凭证是无效的。
  • 通常情况下,当用户尝试访问受保护的资源但没有提供正确的身份验证信息时(例如,缺少或错误的令牌、用户名或密码),服务器会返回 401 错误。
  • 返回此状态代码时,响应通常会包含一个 WWW-Authenticate 标头,指示如何进行身份验证。

2. 403 Forbidden(禁止访问):

  • 这意味着服务器已经理解了请求,但拒绝执行它。
  • 即使用户提供了有效的身份验证凭证,但他们仍然没有权限访问所请求的资源时,服务器会返回 403 错误。
  • 换句话说,用户的身份被认为是已知的,但是他们没有被授权访问资源。

总结

简而言之,401 是关于身份验证的,意思是服务器不知道或不信任请求者的身份;而 403 是关于授权的,意思是服务器知道请求者是谁,但不允许他们执行特定的请求。