官方解释:
HTTP 401 错误 - 未授权: (Unauthorized)
HTTP 403 Forbidden - 拒绝访问
看官方解释,两个好像都跟授权相关。但我们知道一个应用分为登陆和授权两部分。判断一个用户是否有权限访问某个资源,首先判断该用户是否登陆(authenticaiton),再判断他是否有权限访问某个资源(authorization)。所以这两个错误码也就对应这两种情况。
如果用户登陆失败(身份验证失败,即authenticaiton失败),则服务端返回401错误。
如果用户身份验证成功,但是权限验证失败,则返回403错误。
网上有人说官方把HTTP 401叫Unauthorized,不是很好,叫unauthenticated更好,也是有些道理的。
但无论如何,401根authorization无关,只跟authenticaiton相关。