HTTP 状态码大全(超详细)

我给你整理一份HTTP 状态码最全、最清晰、面试/工作都能直接用的版本,按1xx、2xx、3xx、4xx、5xx分类,每个状态码含义 + 场景 + 同类型区别一次性讲透。


一、1xx:信息性状态码(临时响应)

含义:请求已接收,服务器正在处理,客户端应继续发送请求
很少直接用到,一般是底层协议交互。

  • 100 Continue
    客户端可以继续发送请求,一般用于大文件上传前的预检。
  • 101 Switching Protocols
    服务器正在切换协议(如升级到 WebSocket)。

同类型区别
都是中间状态,不代表业务成功/失败,只表示通信过程。


二、2xx:成功状态码

含义:请求已正常接收、理解、处理完毕。

  • 200 OK
    请求完全成功,最常用。
    GET/POST 正常返回都用它。

  • 201 Created
    请求成功,并创建了新资源(POST 新建用户/订单)。

  • 202 Accepted
    请求已接受,但尚未处理完成(异步任务)。

  • 204 No Content
    成功,但返回空响应体
    常用于删除、更新接口。

  • 206 Partial Content
    部分内容请求成功(断点续传、分片下载)。

同类型区别

  • 200:通用成功
  • 201:创建成功
  • 204:成功但无返回数据
  • 206:部分数据成功

三、3xx:重定向状态码

含义:客户端需要进一步操作才能完成请求。

1. 永久重定向

  • 301 Moved Permanently
    资源永久迁移,SEO 权重转移。

2. 临时重定向

  • 302 Found
    临时移动,以前会把 POST 改成 GET。

  • 307 Temporary Redirect
    临时重定向,严格保留请求方法(POST 还是 POST)。

  • 308 Permanent Redirect
    永久重定向,严格保留请求方法

3. 缓存/未修改

  • 304 Not Modified
    资源未修改,使用客户端缓存。

3xx 核心区别(面试必考)

  • 301 / 308:永久 → 浏览器/搜索引擎会缓存
  • 302 / 307:临时 → 不缓存
  • 302:可能改 GET
  • 307 / 308不改变请求方法(现代标准)
  • 304:和重定向无关,是缓存协商

四、4xx:客户端错误

含义:请求有问题,客户端需要修改。

  • 400 Bad Request
    请求参数/格式错误。

  • 401 Unauthorized
    未认证,需要登录。

  • 403 Forbidden
    已认证,但无权限

  • 404 Not Found
    资源不存在。

  • 405 Method Not Allowed
    请求方法不支持(如 GET 接口用 POST)。

  • 408 Request Timeout
    请求超时。

  • 409 Conflict
    资源冲突(如重复提交、版本冲突)。

  • 413 Payload Too Large
    请求体太大。

  • 415 Unsupported Media Type
    不支持的媒体类型(如 Content-Type 错误)。

  • 422 Unprocessable Entity
    参数格式正确,但业务校验失败

  • 429 Too Many Requests
    请求频率超限(限流)。


4xx 最容易混淆的区别

  • 401 vs 403

    • 401:没登录 → 请先登录
    • 403:登录了,但不让访问
  • 400 vs 422

    • 400:语法/格式错(JSON 不合法)
    • 422:格式对,但业务错(手机号格式对但不存在)

五、5xx:服务器错误

含义:服务器处理失败,不是客户端的锅

  • 500 Internal Server Error
    服务器未知错误(代码异常、空指针等)。

  • 502 Bad Gateway
    网关无效,上游服务器挂了/没响应。

  • 503 Service Unavailable
    服务暂时不可用(维护、过载、熔断)。

  • 504 Gateway Timeout
    网关超时,上游服务器没及时返回。


5xx 核心区别(面试/排查必懂)

  • 500:代码报错
  • 502:网关找不到可用服务
  • 503:服务能访问,但太忙/维护
  • 504:服务接收到请求,但执行超时

超简记忆版(面试直接背)

  • 1xx:继续处理
  • 2xx:成功
    • 200 成功
    • 201 创建成功
    • 204 成功无内容
  • 3xx:重定向/缓存
    • 301 永久
    • 302 临时
    • 307 不改变方法
    • 304 缓存
  • 4xx:客户端错
    • 400 参数错
    • 401 未登录
    • 403 没权限
    • 404 不存在
    • 422 业务校验错
    • 429 限流
  • 5xx:服务端错
    • 500 代码报错
    • 502 网关错误
    • 503 过载/维护
    • 504 超时

posted @ 2026-03-20 23:06  七星6609  阅读(2)  评论(0)    收藏  举报