HTTP 状态码有哪些
HTTP 状态码
HTTP 状态码是服务器响应客户端请求时返回的三位数字代码,分为五类: 1. 1xx(信息类):请求已接收,继续处理。 2. 2xx(成功类):请求成功处理。 3. 3xx(重定向类):需要进一步操作。 4. 4xx(客户端错误):请求有误,客户端问题。 5. 5xx(服务器错误):服务器处理失败。
核心点
- 表示请求的结果和状态。
1. 状态码详解
(1) 1xx - 信息类
- 含义:
- 临时响应,客户端继续操作。
- 常见:
- 100 Continue:客户端应继续发送请求体。
- 101 Switching Protocols:切换协议(如 WebSocket)。
- 场景:
- 大文件上传确认。
(2) 2xx - 成功类
- 含义:
- 请求成功完成。
- 常见:
- 200 OK:请求成功,返回数据。
- 201 Created:资源创建成功(如 POST)。
- 204 No Content:成功但无响应体(如 DELETE)。
- 场景:
- 200:页面加载。
- 201:用户注册。
(3) 3xx - 重定向类
- 含义:
- 客户端需采取额外动作。
- 常见:
- 301 Moved Permanently:资源永久重定向。
- 302 Found:临时重定向。
- 304 Not Modified:资源未变,使用缓存。
- 场景:
- 301:域名迁移。
- 304:缓存优化。
(4) 4xx - 客户端错误
- 含义:
- 请求错误,客户端责任。
- 常见:
- 400 Bad Request:请求语法错误。
- 401 Unauthorized:未授权,需认证。
- 403 Forbidden:无权限访问。
- 404 Not Found:资源不存在。
- 429 Too Many Requests:请求超限。
- 场景:
- 404:页面不存在。
- 403:权限不足。
(5) 5xx - 服务器错误
- 含义:
- 服务器处理失败。
- 常见:
- 500 Internal Server Error:服务器内部错误。
- 502 Bad Gateway:网关或代理出错。
- 503 Service Unavailable:服务暂不可用。
- 504 Gateway Timeout:网关超时。
- 场景:
- 500:代码异常。
- 503:服务器维护。
2. 常见状态码汇总
状态码 | 含义 | 典型场景 |
---|---|---|
200 | OK | 请求成功 |
201 | Created | 创建资源 |
301 | Moved Permanently | 永久重定向 |
302 | Found | 临时重定向 |
304 | Not Modified | 使用缓存 |
400 | Bad Request | 参数错误 |
401 | Unauthorized | 未登录 |
403 | Forbidden | 无权限 |
404 | Not Found | 页面不存在 |
500 | Internal Server Error | 服务端异常 |
502 | Bad Gateway | 网关故障 |
503 | Service Unavailable | 服务过载或维护 |
3. 延伸与面试角度
- 与 REST:
- 201:POST 创建。
- 204:DELETE 无返回。
- 实际应用:
- 304:浏览器缓存。
- 429:API 限流。
- 调试:
- 用
curl -I
或开发者工具查看。 - 面试点:
- 问“种类”时,提五类及代表。
- 问“场景”时,提 404 或 500。
总结
HTTP 状态码分 1xx 到 5xx 五类,涵盖信息、成功、重定向、客户端和服务器错误,常见如 200、404、500。面试时,可提分类或举应用例子,展示理解深度。