HTTP 状态码大全

内容纲要

HTTP 状态码大全

标签:HTTP, 状态码, Web开发, 网络协议, 后端开发, 前端开发, API设计, RESTful, 调试, 网络通信


📚 目录


1. 什么是 HTTP 状态码

HTTP 状态码(HTTP Status Code)是服务器在响应客户端请求时返回的 3 位数字,用于表明请求结果状态。

HTTP 状态码的作用:

  • 告诉客户端请求的处理结果(成功、失败、重定向等)
  • 帮助开发者调试网络请求
  • 让 API 调用方根据状态码采取相应逻辑(重试、提示用户、缓存等)

📄 标准定义在 IETF RFC 7231


2. 状态码分类

范围 分类名称 说明
1xx 信息响应(Informational) 请求已接收,继续处理
2xx 成功响应(Success) 请求成功被服务器接收、理解并处理
3xx 重定向(Redirection) 需要进一步操作以完成请求
4xx 客户端错误(Client Error) 请求错误或无法处理(客户端问题)
5xx 服务器错误(Server Error) 服务器未能完成有效请求(服务器问题)

3. HTTP 状态码详解

3.1 1xx 信息响应

状态码 名称 说明
100 Continue 继续,请求正常进行(常用于分块上传)
101 Switching Protocols 协议切换(如 WebSocket)
102 Processing (WebDAV) 请求已接收,处理中
103 Early Hints 提前返回部分响应头(预加载资源)

3.2 2xx 成功响应

状态码 名称 说明
200 OK 请求成功(常用)
201 Created 请求成功并创建了资源
202 Accepted 请求已接受,尚未处理(异步任务)
204 No Content 请求成功但无返回内容
206 Partial Content 部分内容(断点续传)
207 Multi-Status (WebDAV) 多状态
208 Already Reported (WebDAV) 已报告
226 IM Used 变更已完成

示例

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": 123,
  "message": "User created successfully"
}

3.3 3xx 重定向

状态码 名称 说明
301 Moved Permanently 永久重定向
302 Found 临时重定向
303 See Other 应使用 GET 请求新 URL
304 Not Modified 资源未修改,可用缓存
307 Temporary Redirect 临时重定向(保留方法)
308 Permanent Redirect 永久重定向(保留方法)

3.4 4xx 客户端错误

状态码 名称 说明
400 Bad Request 请求参数错误
401 Unauthorized 未授权
403 Forbidden 禁止访问
404 Not Found 资源不存在
405 Method Not Allowed 方法不被允许
408 Request Timeout 请求超时
409 Conflict 请求冲突
410 Gone 资源已删除
413 Payload Too Large 请求体过大
415 Unsupported Media Type 媒体类型不支持
418 I'm a teapot (彩蛋) 我是茶壶
422 Unprocessable Entity (WebDAV) 无法处理的实体
429 Too Many Requests 请求过多(限流)
451 Unavailable For Legal Reasons 因法律原因不可用

3.5 5xx 服务器错误

状态码 名称 说明
500 Internal Server Error 服务器内部错误
501 Not Implemented 未实现
502 Bad Gateway 网关错误
503 Service Unavailable 服务不可用
504 Gateway Timeout 网关超时
505 HTTP Version Not Supported HTTP 版本不支持
507 Insufficient Storage (WebDAV) 存储空间不足
511 Network Authentication Required 需要网络认证

4. 开发中常见使用场景

场景 状态码
API 成功返回数据 200 OK
创建新用户 201 Created
用户登录凭证过期 401 Unauthorized
访问受限资源 403 Forbidden
资源不存在 404 Not Found
请求数据格式错误 400 Bad Request
触发限流 429 Too Many Requests
服务维护 503 Service Unavailable
文件断点续传 206 Partial Content
页面永久迁移 301 Moved Permanently

5. HTTP 状态码使用建议

  1. 符合标准
    避免所有返回都用 200,错误请求应返回 4xx,服务器异常返回 5xx。
  2. 配合响应体
    状态码配合 JSON 详细说明错误:

    {
     "error": "Invalid parameters",
     "code": 4001
    }
  3. 使用缓存相关状态码
    304、412 可减少带宽消耗。
  4. 速率限制提示
    配合 429 Too Many Requests 返回 Retry-After 头。
  5. 日志记录
    遇到 5xx 及时记录日志并告警。

6. 参考资料

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward