含义
请求缺少有效的身份认证凭据。名字虽叫“未授权”,实际意思是“未认证”:需要登录或发送有效令牌。
常见原因
- 缺少 Authorization 头
- 令牌过期或被吊销
- 用户名、密码或 API 密钥错误
解决方法
客户端或访问者
按 WWW-Authenticate 头要求的格式发送凭据,刷新过期的令牌,并检查是否有拼写错误或用错了环境的密钥。
网站或 API 的维护者
返回 401 时始终带上 WWW-Authenticate 头。用户已认证但无权限时用 403。
响应示例
HTTP/1.1
HTTP/1.1 401 Unauthorized
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
WWW-Authenticate: Bearer realm="api", error="invalid_token"
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Unauthorized",
"status": 401,
"detail": "The access token expired."
} 规范
常见问题
› 401 和 403 的区别?
401:我们不知道你是谁,请先认证。403:我们知道你是谁,但你不能做这件事。
› 为什么刚登录就收到 401?
通常是请求没有附带令牌(CORS 未携带凭据、请求头名称错误),或者时钟偏差让令牌看起来已过期。