常见的 HTTP 状态码按类别分类如下:
1xx(信息响应)
- 100 Continue:服务器已收到请求头,客户端应继续发送请求主体。
- 101 Switching Protocols:服务器根据客户端请求切换协议(如升级到 WebSocket)。
2xx(成功)
- 200 OK:请求成功,返回响应数据。
- 201 Created:资源已成功创建(常用于 POST/PUT 请求)。
- 204 No Content:请求成功,但无返回内容(如 DELETE 请求后的响应)。
3xx(重定向)
- 301 Moved Permanently:资源已永久移动到新 URL。
- 302 Found:资源临时重定向到新 URL(浏览器可能继续用原 URL 请求)。
- 304 Not Modified:资源未修改,客户端可使用缓存版本(与缓存头配合使用)。
- 307 Temporary Redirect:临时重定向,要求客户端保持原请求方法。
- 308 Permanent Redirect:永久重定向,要求客户端保持原请求方法。
4xx(客户端错误)
- 400 Bad Request:请求语法错误,服务器无法解析。
- 401 Unauthorized:未认证,需提供有效凭据(如登录)。
- 403 Forbidden:服务器拒绝执行(权限不足)。
- 404 Not Found:请求的资源不存在。
- 405 Method Not Allowed:请求方法不被允许(如用 GET 访问只支持 POST 的接口)。
- 409 Conflict:请求与服务器当前状态冲突(如资源版本不一致)。
- 429 Too Many Requests:客户端请求频率过高(限流时返回)。
5xx(服务器错误)
- 500 Internal Server Error:服务器内部错误(通用错误码)。
- 502 Bad Gateway:服务器作为网关时,上游服务器返回无效响应。
- 503 Service Unavailable:服务器暂时不可用(如维护或过载)。
- 504 Gateway Timeout:服务器作为网关时,未能及时收到上游响应。
常见场景举例
- 200:访问网页成功。
- 301/302:网站迁移或短链接跳转。
- 404:访问不存在的 URL。
- 500:服务器代码崩溃。
- 503:网站维护中。