标准 HTTP 状态码详解
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": ["用户名不存在"]}
}
这样既保持了协议语义清晰,又方便前端统一处理和国际化。