跳到正文
马克工具箱

HTTP 状态码大全

完整、可搜索的 HTTP 响应状态码列表。每个状态码都附有简短的中文解释和定义出处,帮你快速看懂日志或浏览器中的错误。

在浏览器本地运行,输入的内容和文件都不会上传

100

ContinueRFC 9110

服务器已收到请求头,客户端可以继续发送请求体。

101

Switching ProtocolsRFC 9110

服务器按客户端的要求切换协议,例如升级到 WebSocket。

103

Early HintsRFC 8297

在最终响应之前先发送部分响应头,通常是 Link 预加载提示。

200

OKRFC 9110

请求成功。

201

CreatedRFC 9110

请求成功并创建了新资源,通常用于 POST 或 PUT 之后。

202

AcceptedRFC 9110

请求已被接受,但尚未处理完成,常用于异步任务。

203

Non-Authoritative InformationRFC 9110

返回的内容经过了代理的修改。

204

No ContentRFC 9110

请求成功,但没有返回内容。

205

Reset ContentRFC 9110

请求成功,客户端应重置文档视图,例如清空表单。

206

Partial ContentRFC 9110

按 Range 请求只返回了资源的一部分,用于断点续传和分段下载。

207

Multi-StatusRFC 4918 (WebDAV)

以 XML 返回多个操作各自的状态(WebDAV)。

208

Already ReportedRFC 5842 (WebDAV)

集合成员已在之前的响应中列出(WebDAV)。

226

IM UsedRFC 3229

响应是对资源应用实例操作(如增量编码)后的结果。

300

Multiple ChoicesRFC 9110

资源有多个可选的表示形式。

301

Moved PermanentlyRFC 9110

资源已永久移动到 Location 指定的网址,搜索引擎会把权重转移到新网址。

302

FoundRFC 9110

资源临时位于其他网址。浏览器跟随跳转时可能把 POST 改成 GET。

303

See OtherRFC 9110

请用 GET 到另一个网址获取结果,常用于表单提交之后。

304

Not ModifiedRFC 9110

资源未修改,客户端可以继续使用缓存(条件请求)。

307

Temporary RedirectRFC 9110

临时重定向,并保持原请求方法和请求体不变。

308

Permanent RedirectRFC 9110

永久重定向,并保持原请求方法和请求体不变。

400

Bad RequestRFC 9110

请求有误(格式错误、参数无效等),服务器无法处理。

401

UnauthorizedRFC 9110

需要身份验证或验证失败,响应中会带有 WWW-Authenticate 头。

402

Payment RequiredRFC 9110

保留待用,部分 API 用它表示需要付费或账户欠费。

403

ForbiddenRFC 9110

服务器理解请求但拒绝执行,重新登录也无济于事(权限不足、被封禁等)。

404

Not FoundRFC 9110

资源不存在,或者服务器不愿透露它是否存在。

405

Method Not AllowedRFC 9110

该资源不支持此请求方法,Allow 头会列出支持的方法。

406

Not AcceptableRFC 9110

没有符合请求 Accept 头要求的内容格式。

407

Proxy Authentication RequiredRFC 9110

需要先通过代理服务器的身份验证。

408

Request TimeoutRFC 9110

服务器等待请求超时。

409

ConflictRFC 9110

请求与资源的当前状态冲突,例如编辑冲突、重复创建。

410

GoneRFC 9110

资源已被永久删除,不会再恢复。

411

Length RequiredRFC 9110

请求缺少 Content-Length 头。

412

Precondition FailedRFC 9110

请求头中的前提条件(如 If-Match)不满足。

413

Content Too LargeRFC 9110

请求体超过了服务器允许的大小,常见于上传文件过大。旧称 Payload Too Large。

414

URI Too LongRFC 9110

请求的网址过长。

415

Unsupported Media TypeRFC 9110

不支持请求体的格式(Content-Type)。

416

Range Not SatisfiableRFC 9110

请求的 Range 超出了资源的范围。

417

Expectation FailedRFC 9110

无法满足请求中 Expect 头的要求。

418

I'm a teapotRFC 2324 (April Fools)

源自愚人节 RFC「超文本咖啡壶控制协议」的玩笑状态码,部分服务器仍保留。

421

Misdirected RequestRFC 9110

请求被发送到了无法响应该主机的服务器,常见于连接复用。

422

Unprocessable ContentRFC 9110

请求格式正确,但内容无法处理,例如字段校验失败。

423

LockedRFC 4918 (WebDAV)

资源已被锁定(WebDAV)。

424

Failed DependencyRFC 4918 (WebDAV)

所依赖的另一个请求失败,导致本请求失败(WebDAV)。

425

Too EarlyRFC 8470

服务器不愿处理可能被重放的请求(TLS 早期数据)。

426

Upgrade RequiredRFC 9110

客户端需要切换到 Upgrade 头指定的协议。

428

Precondition RequiredRFC 6585

服务器要求请求带上条件头,以防止更新丢失。

429

Too Many RequestsRFC 6585

请求过于频繁,触发了限流。Retry-After 头说明多久后可以重试。

431

Request Header Fields Too LargeRFC 6585

请求头过大,常见原因是 Cookie 太多太大。

451

Unavailable For Legal ReasonsRFC 7725

因法律原因无法提供该资源,例如法院命令。

499

Client Closed RequestNginx · 非标准

Nginx 日志中的状态码:服务器响应之前客户端已断开连接。

500

Internal Server ErrorRFC 9110

服务器内部发生了意外错误。

501

Not ImplementedRFC 9110

服务器不支持完成请求所需的功能。

502

Bad GatewayRFC 9110

网关或代理从上游服务器收到了无效的响应,常见于后端服务崩溃或未启动。

503

Service UnavailableRFC 9110

服务器暂时无法处理请求,例如过载或维护中。

504

Gateway TimeoutRFC 9110

网关或代理等待上游服务器响应超时。

505

HTTP Version Not SupportedRFC 9110

服务器不支持请求使用的 HTTP 版本。

506

Variant Also NegotiatesRFC 2295

透明内容协商配置有误,形成了循环。

507

Insufficient StorageRFC 4918 (WebDAV)

服务器存储空间不足,无法完成请求(WebDAV)。

508

Loop DetectedRFC 5842 (WebDAV)

服务器处理请求时检测到无限循环(WebDAV)。

511

Network Authentication RequiredRFC 6585

需要先登录网络,常见于酒店、机场 Wi-Fi 的认证页面。

520

Web Server Returned an Unknown ErrorCloudflare · 非标准

Cloudflare:源站返回了空的、未知的或异常的响应。

521

Web Server Is DownCloudflare · 非标准

Cloudflare:源站拒绝了连接。

522

Connection Timed OutCloudflare · 非标准

Cloudflare:与源站建立 TCP 连接超时。

524

A Timeout OccurredCloudflare · 非标准

Cloudflare:源站接受了连接,但没有在限定时间内返回响应。

使用步骤

  1. 在搜索框中输入状态码或关键词,例如 502 或「重定向」。
  2. 或者按类别筛选:信息、成功、重定向、客户端错误、服务器错误。
  3. 在网址后面加上

参数说明

类别
1xx 表示信息,2xx 表示成功,3xx 表示重定向,4xx 是客户端错误(请求有问题),5xx 是服务器错误(服务器出了问题)。
非标准状态码
Nginx 的 499、Cloudflare 的 520–524 等不属于任何 RFC,但在日志中很常见。

如何选择重定向状态码

RFC 9110 中的五个重定向状态码有两点区别:跳转是否是永久的,以及客户端跟随跳转时是否可以改变请求方法。

状态码 含义 是否永久 跳转后的请求方法
301 Moved Permanently(永久移动) 是 可能从 POST 变成 GET
302 Found(临时找到) 否 可能从 POST 变成 GET
303 See Other(查看其他位置) 否 一律变成 GET
307 Temporary Redirect(临时重定向) 否 必须保持不变
308 Permanent Redirect(永久重定向) 是 必须保持不变

普通的页面搬家或 HTTP 跳转 HTTPS,一般选 301。如果 POST 请求(例如表单或 API 调用)必须原样到达新地址,用 308 或 307。表单提交成功后,用 303 把浏览器引导到结果页面,由浏览器用 GET 去获取。

常见问题

301 和 302 有什么区别?

301 是永久跳转,浏览器和搜索引擎会记住新网址;302 是临时跳转。如果要求保持请求方法和请求体不变,请用 308 或 307。

401 和 403 有什么区别?

401 表示未通过身份验证,登录后可以重试;403 表示已识别身份但没有权限,重新登录也没有用。

502 Bad Gateway 是什么意思?

代理或负载均衡(如 Nginx)没能从后端应用拿到有效响应,通常是应用崩溃、正在重启或没有监听端口。

隐私说明

本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。

相关工具