# HTTP 状态码全集参考

完整的 HTTP 状态码参考（1xx–5xx），包含语义、典型场景与重试建议的对比表

> 标准页面: https://elysiatools.com/zh/tools/http-status-reference

- **分类:** Development

- **关键词:** http, 状态码, 参考, 1xx, 2xx, 3xx, 4xx, 5xx, rest, api, 响应, 速查表, 重试

## 概述

本工具提供完整的 HTTP 状态码（1xx–5xx）速查参考，帮助开发者快速检索各个状态码的官方语义、典型应用场景以及客户端重试建议，提升 API 设计与网络排障效率。

## 输入项

- **分类筛选** (select)
- **搜索** (text): Filter by code, reason, meaning or scenario...

## 适用场景

- 在设计 RESTful API 并需要为不同的业务结果选择最符合规范的 HTTP 响应状态码时。
- 在分析服务器日志或调试网络请求，遇到不常见的状态码（如 409、429 或 503）需要确认其具体含义和重试策略时。
- 前端开发人员需要根据接口返回的状态码编写全局拦截器或错误处理逻辑时。

## 工作原理

- 在分类筛选下拉菜单中选择特定的状态码区间（如 2xx 成功、4xx 客户端错误或 5xx 服务端错误）以缩小浏览范围。
- 在搜索框中输入状态码数字、英文短语或中文描述，实时过滤出匹配的参考条目。
- 查看筛选结果中每个状态码的详细语义、典型触发场景以及针对该状态码的客户端重试建议。

## 使用案例

- 接口设计规范制定：后端开发人员参考状态码语义，规范化 API 响应设计。
- 网络故障排查：运维人员通过分析 Nginx 或网关日志中的状态码，快速定位请求失败原因。
- 前端异常捕获：前端开发人员根据状态码（如 401、403、429）编写统一的 Axios 拦截器逻辑。

## 常见问题

### 401 Unauthorized 和 403 Forbidden 有什么区别？

401 表示未提供身份验证凭证或凭证无效，通常需要登录；403 表示已识别身份但无权访问该资源。

### 遇到 503 Service Unavailable 状态码时应该重试吗？

应该。503 通常是临时性的服务器超载或维护，客户端可以配合 Retry-After 响应头在稍后进行重试。

### 什么是 301 和 302 重定向的区别？

301 是永久重定向，浏览器会缓存新地址；302 是临时重定向，后续请求仍应访问原 URL。

### 429 Too Many Requests 状态码代表什么？

代表客户端在给定的时间内发送了太多请求，触发了服务器的限流策略，需要等待一段时间后再请求。

### 如何快速找到特定状态码的重试建议？

您可以直接在搜索框中输入状态码（如 502），或筛选 5xx 分类，即可在结果表格中直接查看对应的重试策略。

## 相关工具

- [Cron 表达式解释器](https://elysiatools.com/zh/tools/cron-expression-explainer): 解析 5 段 / 6 段 / Quartz cron 表达式为自然语言调度描述，按字段拆解，并按任意 IANA 时区列出接下来 N 次执行时间，附带 AI 生成的本地化自然语言解释
- [ASCII 字符表参考](https://elysiatools.com/zh/tools/ascii-table): 浏览完整 ASCII 字符表（0–127），含十进制、十六进制、八进制、二进制、HTML 实体和控制字符名称，支持按码值或名称过滤
- [cURL 转 Go (net/http)](https://elysiatools.com/zh/tools/curl-to-go): 将 cURL 命令转换为 Go net/http 代码片段，包含 http.NewRequest、请求头和请求体
- [cURL 转 JavaScript (axios)](https://elysiatools.com/zh/tools/curl-to-js-axios): 将 cURL 命令转换为 JavaScript axios 代码片段，使用配置对象、请求头和数据
- [cURL 转 JavaScript (fetch)](https://elysiatools.com/zh/tools/curl-to-js-fetch): 将 cURL 命令转换为 JavaScript fetch() 代码片段，包含请求头、请求体和方法
- [cURL 转 PHP (cURL)](https://elysiatools.com/zh/tools/curl-to-php): 将 cURL 命令转换为 PHP cURL 代码片段，包含 curl_setopt、请求头和 POST 字段
- [cURL 转 Python (requests)](https://elysiatools.com/zh/tools/curl-to-python): 将 cURL 命令转换为 Python requests 代码片段，包含请求头、数据和请求方法
- [HTTP 请求测试器](https://elysiatools.com/zh/tools/http-request-tester): 浏览器内的轻量 HTTP 客户端（迷你 Postman）：发送 GET/POST/PUT/DELETE 请求，自定义请求头与请求体，查看状态码、响应头、耗时与格式化响应——全部在浏览器内完成

## 示例

- [二维码示例](https://elysiatools.com/zh/samples/qrcode-samples): 用于测试二维码读取和生成工具的示例二维码图像
- [代码注释示例](https://elysiatools.com/zh/samples/code-comment-samples): 用于测试注释移除的各种注释样式代码示例文件
- [无效变量名代码示例](https://elysiatools.com/zh/samples/code-invalid-variable-names-samples): 展示不同编程语言中无效变量命名约定的示例代码文件
- [代码查看器样本](https://elysiatools.com/zh/samples/code-viewer-samples): 用于浏览器内代码查看器的长尾代码与配置样本文件

## 相关内容

- [cURL 转代码转换器与 HTTP 请求工具](https://elysiatools.com/zh/hubs/curl-to-code-converter): 将 cURL 命令转换为 Go、JavaScript、Python、PHP 和 HAR，生成 API 请求代码片段，测试 HTTP 请求，并查阅状态码参考。
