首页/网络/协议速查/401 与 403 的区别(排障对照)
HTTP 方法与状态码91 条

401 与 403 的区别(排障对照)

401=没认证(你是谁?带凭证重来);403=认证过了但没权限(知道你是谁,但不让做)。

协议速查网络更新于 2026-10-12
401认证问题:缺凭证/凭证无效/过期;响应必须带 WWW-Authenticate
403授权问题:凭证有效但被拒绝;不应再要求认证
常见混淆把 403 写成 401 会导致客户端无限重登

判断流程

现象判定处理方向
无 Token 访问受保护接口401客户端跳登录/刷新 Token
Token 有效但角色不足403联系管理员授权;检查权限模型
Token 有效且权限正常仍 403403检查 IP 白名单/WAF/地域策略
过期 Token 访问401刷新或重新登录

验证你的接口行为

验证你的接口行为
curl -si -H 'Authorization: Bearer INVALID' https://api.example.com/me   # 期望 401
curl -si -H 'Authorization: Bearer 有效但无权限' https://api.example.com/admin # 期望 403

易错点

  • 中文翻译「未授权」误导性极强:401 是「未认证」,真正「未授权」是 403
  • 网关统一把所有失败改成 401,会让移动端刷新 Token 逻辑死循环

数据来源与参考

  • RFC 9110 §15.5.2(401)
  • RFC 9110 §15.5.4(403)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌