HTTP 状态代码 作者: ynnddddd 时间: 2025-03-09 分类: 学业,网络安全,网络 以下是常见 **HTTP 状态代码** 的分类总结,按功能分组,帮助快速理解: --- ### **1xx 信息响应(较少见)** - **100 Continue**:客户端应继续发送请求(用于分块上传)。 - **101 Switching Protocols**:服务器切换协议(如升级到 WebSocket)。 --- ### **2xx 成功响应** | 状态码 | 说明 | 典型场景 | |--------|--------------------------|----------------------------------| | **200 OK** | 请求成功完成。 | 页面正常加载、API 返回数据。 | | **201 Created** | 资源已创建。 | 用户注册、提交表单后创建新数据。 | | **204 No Content** | 成功但无返回内容。 | 删除资源或更新操作(如 POST/PUT)。| --- ### **3xx 重定向** | 状态码 | 说明 | 典型场景 | |--------|--------------------------|----------------------------------| | **301 Moved Permanently** | 永久重定向。 | 网站迁移域名或页面路径变更。 | | **302 Found** | 临时重定向。 | A/B 测试、维护期间跳转临时页面。 | | **304 Not Modified** | 资源未修改(缓存)。 | 浏览器使用本地缓存的旧版本资源。 | --- ### **4xx 客户端错误** | 状态码 | 说明 | 典型场景 | |--------|--------------------------|----------------------------------| | **400 Bad Request** | 请求格式错误。 | 参数缺失、JSON 格式错误、非法输入。| | **401 Unauthorized** | 需要身份验证。 | 未登录访问受保护的 API 或页面。 | | **403 Forbidden** | 无权限访问。 | 用户已登录但角色不足(如普通用户访问管理员页面)。| | **404 Not Found** | 资源不存在。 | 输入错误 URL 或页面被删除。 | | **405 Method Not Allowed** | 请求方法不被允许。 | 对只接受 POST 的接口发送 GET 请求。| | **429 Too Many Requests** | 请求过于频繁。 | 触发 API 速率限制(如爬虫被限流)。| --- ### **5xx 服务器错误** | 状态码 | 说明 | 典型场景 | |--------|--------------------------|----------------------------------| | **500 Internal Server Error** | 服务器内部错误。 | 代码崩溃、数据库连接失败等未处理异常。| | **502 Bad Gateway** | 网关/代理错误。 | 后端服务(如 Nginx)无法连接到应用服务器。| | **503 Service Unavailable** | 服务不可用。 | 服务器过载、维护中或依赖的第三方服务宕机。| --- ### **关键区别** 1. **401 vs 403** - **401**:需要登录(认证失败)。 - **403**:已登录但权限不足(如普通用户试图访问 `/admin`)。 2. **301 vs 302** - **301**:永久跳转(搜索引擎会更新索引)。 - **302**:临时跳转(搜索引擎保留原链接)。 3. **500 vs 503** - **500**:代码逻辑错误(如未捕获的异常)。 - **503**:服务器暂时过载(如流量激增或维护)。 --- ### **实际应用示例** - **用户访问已删除的博客文章** → **404** - **未登录访问个人中心** → **401** - **网站迁移到新域名** → **301** - **服务器因流量过大崩溃** → **503** 标签: none