401 Unauthorized
- 状态码401标识认证失败,表示请求没有被认证或者认证失败。
- 通常由web服务器返回,而不是web应用。
- 场景:token失效、token缺失、token伪造,导致服务端无法识别身份。
403 Forbidden
- 状态码403表示授权失败,通常表示用户通过了身份验证,但缺少权限对给定的资源进行访问或者操作。
- 通常由web应用返回。
- 场景:用户登录成功,但是无权进行读写操作。
总结
401和403的主要区别在于
- 重点不同:401着重于认证,403着重于授权
- 返回对象不同:401通常由web服务器返回,403由web应用返回
- 场景不同:401表示用户未通过身份授权、验证,403表示用户可能通过了身份验证,但缺少指定权限