401 Unauthorized 与其名称相反,实际含义是“未认证”。它表示凭据缺失或无效,服务器会通过 WWW-Authenticate 头告知需要哪种认证。很多情况下登录或刷新令牌即可解决。
403 Forbidden 表示已经认证,但没有访问该资源的权限。再次登录结果也相同。需要检查用户角色与权限、资源归属、IP 与防火墙(WAF)规则,以及 OAuth 作用域。
简而言之,401 表示“不知道你是谁”,403 表示“知道你是谁,但不能允许”。出于安全考虑,有些服务器会返回 404 而不是 403,以隐藏资源本身是否存在。