HTTP 状态码查询

HTTP状态码是服务器对客户端请求的响应状态的三位数字代码。了解这些状态码对于Web开发和调试非常重要。

状态码分类

HTTP状态码按第一个数字分为5类:

1xx - 信息响应

表示请求已被接收,继续处理。

状态码 名称 含义
100 Continue 客户端应继续发送请求的剩余部分
101 Switching Protocols 服务器同意切换协议
102 Processing 服务器已收到请求,正在处理
103 Early Hints 用于在最终响应前返回一些提示头信息

2xx - 成功响应

表示请求已成功被服务器接收、理解并接受。

状态码 名称 含义
200 OK 请求成功,响应中包含请求的数据
201 Created 请求成功,并在服务器上创建了新资源
202 Accepted 请求已接受,但尚未处理完成
204 No Content 请求成功,但响应中无内容
206 Partial Content 部分内容响应(用于断点续传)

3xx - 重定向

表示需要客户端采取进一步的操作才能完成请求。

状态码 名称 含义
301 Moved Permanently 永久重定向
302 Found 临时重定向
304 Not Modified 资源未修改,可使用缓存
307 Temporary Redirect 临时重定向(保持请求方法)
308 Permanent Redirect 永久重定向(保持请求方法)

4xx - 客户端错误

表示客户端可能出错,妨碍了服务器的处理。

状态码 名称 含义
400 Bad Request 请求语法错误
401 Unauthorized 需要身份验证
403 Forbidden 服务器理解请求但拒绝执行
404 Not Found 请求的资源不存在
405 Method Not Allowed 请求方法不被允许
429 Too Many Requests 请求频率过高

5xx - 服务器错误

表示服务器在处理请求的过程中发生了错误。

状态码 名称 含义
500 Internal Server Error 服务器内部错误
502 Bad Gateway 网关错误
503 Service Unavailable 服务不可用
504 Gateway Timeout 网关超时

常用状态码详解

200 OK

含义:请求成功,服务器返回了请求的数据。 场景:GET请求成功获取资源,POST请求成功处理。

201 Created

含义:请求成功并在服务器上创建了新资源。 场景:POST请求创建新资源后返回。 响应头:通常包含 Location 头指示新资源的URL。

301 Moved Permanently

含义:请求的资源已永久移动到新位置。 场景:网站改版、URL结构调整。 注意:搜索引擎会更新索引到新URL。

302 Found

含义:请求的资源临时移动到其他位置。 场景:临时维护、A/B测试。

400 Bad Request

含义:客户端请求语法错误,服务器无法理解。 常见原因

  • JSON格式错误
  • 缺少必要参数
  • 参数类型错误

401 Unauthorized

含义:请求需要用户认证。 响应头:包含 WWW-Authenticate 头指示认证方式。

403 Forbidden

含义:服务器理解请求但拒绝执行。 与401的区别:401是未认证,403是已认证但权限不足。

404 Not Found

含义:请求的资源在服务器上不存在。 场景:URL拼写错误、资源已被删除。

500 Internal Server Error

含义:服务器遇到意外情况,无法完成请求。 常见原因:代码bug、数据库连接失败、配置错误。

状态码记忆技巧

按数字范围记忆

  • 1xx:信息类 - “请稍等,正在处理”
  • 2xx:成功类 - “一切顺利”
  • 3xx:重定向类 - “请去别处看看”
  • 4xx:客户端错误 - “你的请求有问题”
  • 5xx:服务器错误 - “我这边出问题了”

重要状态码口诀

  • 200:成功OK
  • 301:永久搬家
  • 302:临时串门
  • 404:找不到了
  • 500:服务器挂了

开发中的状态码使用

RESTful API设计

http
GET /users/123     -> 200 OK (成功获取用户)
POST /users        -> 201 Created (创建用户成功)
PUT /users/123     -> 200 OK (更新用户成功)
DELETE /users/123  -> 204 No Content (删除用户成功)
GET /users/999     -> 404 Not Found (用户不存在)

错误处理最佳实践

  1. 选择合适的错误码:不要滥用500错误
  2. 提供清晰的错误信息:在响应体中包含错误详情
  3. 一致性:相同类型的错误使用相同的状态码
  4. 安全性:避免在错误响应中泄露敏感信息

状态码对照表

状态码 含义 使用场景
200 成功 正常请求响应
201 已创建 创建新资源成功
204 无内容 删除成功或无需返回内容
301 永久重定向 网站改版、URL永久变更
302 临时重定向 临时维护、A/B测试
304 未修改 缓存有效
400 错误请求 参数错误、格式错误
401 未授权 需要登录认证
403 禁止访问 权限不足
404 未找到 资源不存在
405 方法不允许 使用了错误的HTTP方法
429 请求过多 频率限制触发
500 服务器错误 服务器内部异常
502 错误网关 上游服务不可用
503 服务不可用 服务器过载或维护
504 网关超时 上游服务响应超时

总结

HTTP状态码是Web开发的基础知识,正确理解和使用状态码可以:

  • 提高API的可用性和可维护性
  • 便于调试和错误排查
  • 改善用户体验
  • 优化搜索引擎表现

建议在实际开发中,根据具体业务场景选择合适的HTTP状态码,并保持一致性。

最后更新:2026-02-05