HTTP 状态码分类详解
分类 | 范围 | 含义 |
---|---|---|
1xx 信息性 | 100--199 | 请求已接收,继续处理 |
2xx 成功 | 200--299 | 请求成功,服务器返回预期结果 |
3xx 重定向 | 300--399 | 客户端需进一步操作以完成请求 |
4xx 客户端错误 | 400--499 | 请求有误,客户端需修改请求 |
5xx 服务器错误 | 500--599 | 服务器处理请求时发生错误 |
常见状态码详解
1xx 信息性
-
100 Continue:初始请求已接受,继续发送剩余部分。
-
101 Switching Protocols:服务器同意客户端协议切换请求。
2xx 成功
-
200 OK:请求成功,返回数据。
-
201 Created:资源创建成功(常用于 POST)。
-
204 No Content:请求成功但无返回内容(如 DELETE)。
3xx 重定向
-
301 Moved Permanently:资源永久重定向到新地址。
-
302 Found:资源临时重定向。
-
304 Not Modified:资源未修改,可使用缓存。
4xx 客户端错误
-
400 Bad Request:请求格式错误或参数无效。
-
401 Unauthorized:未认证,需登录。
-
403 Forbidden:已认证但无权限访问。
-
404 Not Found:请求资源不存在。
-
429 Too Many Requests:请求频率过高,被限流。
5xx 服务器错误
-
500 Internal Server Error:服务器内部错误。
-
502 Bad Gateway:网关收到无效响应。
-
503 Service Unavailable:服务器暂时不可用(如维护中)。
-
504 Gateway Timeout:网关超时,未收到上游响应。
企业级建议
在企业级系统中,推荐使用标准 HTTP 状态码来表达请求结果,同时在响应体中提供结构化的业务错误信息:
HTTP/1.1 400 Bad Request
{
"code": 1001,
"message": "用户名或密码错误",
"errors": {
"username": ["用户名不存在"]
}
}
这样既保持了协议语义清晰,又方便前端统一处理和国际化。