总结
1xx: 正在处理 2xx: 成功 3xx: 重定向,302 重定向,304 协商缓存 4xx: 客户端错误,401 未登录,403 没权限,404 资源不存在 5xx: 服务器错误
常见的 HTTP 状态码详解
HTTP 状态码(HTTP Status Code)是服务器返回给客户端的响应代码,用于表示请求的处理结果。它是一个三位数的数字代码,通常分为五类。
一、HTTP 状态码分类状态码范围 类别 含义 1xxInformational(信息性) 请求正在处理中 2xxSuccess(成功) 请求已成功接收并处理 3xxRedirection(重定向) 需要进一步操作才能完成请求 4xxClient Error(客户端错误) 请求有误,服务器无法处理 5xxServer 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