10. 常见的 http 状态码有哪些

发布于:2025-07-12 ⋅ 阅读:(19) ⋅ 点赞:(0)

总结

  1. 1xx: 正在处理
  2. 2xx: 成功
  3. 3xx: 重定向,302 重定向,304 协商缓存
  4. 4xx: 客户端错误,401 未登录,403 没权限,404 资源不存在
  5. 5xx: 服务器错误

常见的 HTTP 状态码详解

HTTP 状态码(HTTP Status Code)是服务器返回给客户端的响应代码,用于表示请求的处理结果。它是一个三位数的数字代码,通常分为五类。


一、HTTP 状态码分类

状态码范围 类别 含义
1xx Informational(信息性) 请求正在处理中
2xx Success(成功) 请求已成功接收并处理
3xx Redirection(重定向) 需要进一步操作才能完成请求
4xx Client Error(客户端错误) 请求有误,服务器无法处理
5xx Server Error(服务器错误) 服务器内部错误

二、常见状态码详解

✅ 1xx:信息性状态码(Informational)

  • 表示请求已被服务器接收,正在继续处理。
  • 客户端一般无需特别处理这些状态码。
状态码 描述
100 Continue 客户端可以继续发送请求体
101 Switching Protocols 服务器根据客户端请求切换协议(如升级到 WebSocket)

✅ 2xx:成功状态码(Success)

  • 表示请求被服务器成功接收、理解和处理。
状态码 描述
200 OK 请求成功,正常返回数据
201 Created 请求成功并在服务器上创建了新资源(常用于 POST)
204 No Content 请求成功但没有返回内容(常用于 DELETE 或 PUT)

✅ 3xx:重定向状态码(Redirection)

  • 表示客户端需要进一步操作来完成请求,通常是跳转到另一个 URL。
状态码 描述
301 Moved Permanently 资源永久移动到了新位置(SEO 友好)
302 Found(临时重定向) 资源临时移动到了新位置
303 See Other 应该使用 GET 方法请求另一个 URI
304 Not Modified 资源未修改,可使用缓存(常用于协商缓存)
307 Temporary Redirect 与 302 类似,但要求保持请求方法不变

✅ 4xx:客户端错误状态码(Client Error)

  • 表示客户端发送的请求有问题,服务器无法处理。
状态码 描述
400 Bad Request 请求格式错误,服务器无法理解
401 Unauthorized 请求需要身份验证(如 Token 过期)
403 Forbidden 服务器拒绝执行请求(权限不足)
404 Not Found 请求的资源不存在
405 Method Not Allowed 请求方法不被允许(如用 POST 请求只支持 GET 的接口)
408 Request Timeout 客户端请求超时
429 Too Many Requests 客户端请求过多,服务器限流

✅ 5xx:服务器错误状态码(Server Error)

  • 表示服务器在处理请求的过程中发生了错误。
状态码 描述
500 Internal Server Error 服务器内部错误(最常见的服务端异常)
501 Not Implemented 服务器不支持当前请求的功能
502 Bad Gateway 作为网关或代理的服务器从上游服务器收到无效响应
503 Service Unavailable 服务器暂时不可用(过载或维护)
504 Gateway Timeout 网关或代理服务器等待上游服务器响应超时

三、状态码使用场景总结

场景 推荐状态码
登录失败 401 Unauthorized
没有访问权限 403 Forbidden
页面不存在 404 Not Found
接口调用成功 200 OK
创建资源成功 201 Created
删除/更新资源成功但无返回值 204 No Content
服务器异常 500 Internal Server Error
接口限流 429 Too Many Requests
协商缓存命中 304 Not Modified


网站公告

今日签到

点亮在社区的每一天
去签到