总结
1xx: 正在处理 2xx: 成功 3xx: 重定向,302 重定向,304 协商缓存 4xx: 客户端错误,401 未登录,403 没权限,404 资源不存在 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