首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >一文读懂 HTTP 响应状态码:从 1xx 到 5xx 全解析

一文读懂 HTTP 响应状态码:从 1xx 到 5xx 全解析

作者头像
christine-rr
发布2026-01-13 19:34:44
发布2026-01-13 19:34:44
1.3K0
举报

博客主页:christine-rr-CSDN博客 ​​​​​ ​​ hi,大家好,我是christine-rr ! 今天来分享一下HTTP 响应状态码

🌐 一文读懂 HTTP 响应状态码:从 1xx 到 5xx 全解析

HTTP 响应状态码是客户端与服务器沟通的“通用语言”。理解它们,不仅能快速定位问题,还能写出更健壮的前端逻辑和更友好的错误提示。

本文系统梳理五大类状态码的核心含义、典型场景及应对策略,附赠速查表,建议收藏!

📦 五大类 HTTP 状态码概览

类别

范围

含义

责任方

💬 信息响应

1xx

请求已接收,继续处理

服务器 → 客户端

✅ 成功响应

2xx

请求成功完成

🔁 重定向

3xx

需跳转到新地址

客户端需跟进

❌ 客户端错误

4xx

请求有误或无权限

客户端自查

⚠️ 服务器错误

5xx

服务端内部故障

服务端修复


1️⃣ 1xx:信息性响应(Informational)

含义:请求已被接收,服务器正在处理中,需客户端继续发送数据或等待进一步指示。 特点:临时响应,不表示最终结果,通常在 HTTP/1.1 中用于优化传输。

常见代码
  • 100 Continue:客户端可继续发送请求体(常用于大文件上传前的试探)。
  • 101 Switching Protocols:同意协议升级(如从 HTTP 切换到 WebSocket)。

💡 注意:现代浏览器和框架通常自动处理 1xx,一般无需手动干预。


2️⃣ 2xx:成功响应(Success)

含义:请求被服务器成功接收、理解并处理。

常见代码
  • 200 OK:标准成功响应,返回请求资源(GET/POST 均可用)。
  • 201 Created:资源创建成功,响应头中通常包含 Location 指向新资源。
  • 204 No Content:操作成功但无返回体(如 DELETE、PATCH 后无需数据)。
  • 206 Partial Content:返回部分内容,用于断点续传或视频分段加载。

最佳实践:API 设计时,明确区分 200(有数据)、204(无数据),避免前端误判。


3️⃣ 3xx:重定向(Redirection)

含义:资源位置变更,客户端需向新 URL 发起请求。

常见代码
  • 301 Moved Permanently永久重定向,浏览器会缓存,SEO 友好。
  • 302 Found / 303 See Other临时重定向,通常强制转为 GET 请求(即使原请求是 POST)。
  • 304 Not Modified:资源未修改,客户端可使用本地缓存(需配合 If-Modified-SinceETag)。
  • 307 Temporary Redirect:临时重定向,保留原始请求方法和 body(适合 POST 重试)。
  • 308 Permanent Redirect:永久重定向,保留原始方法和 body301 的严格版)。

🔁 关键区别

  • 301/308:永久,可缓存
  • 302/303/307:临时,不可缓存
  • 303 强制转 GET;307/308 保持原方法

4️⃣ 4xx:客户端错误(Client Error)

含义:请求存在语法错误、权限不足或资源不存在,问题出在客户端

常见代码
  • 400 Bad Request:请求格式错误(如 JSON 解析失败、参数缺失)。
  • 401 Unauthorized未认证(缺少 Token、Session 失效)。
  • 403 Forbidden已认证但无权限(如普通用户访问管理员接口)。
  • 404 Not Found:URL 对应资源不存在(路径错误、资源被删)。
  • 429 Too Many Requests:触发速率限制(防刷机制)。

🔒 安全建议

  • 避免在 403/404 响应中泄露敏感信息(如“该用户不存在” vs “密码错误”)。
  • 401 应引导用户重新登录;对 403 应提示权限不足而非技术错误。

5️⃣ 5xx:服务器错误(Server Error)

含义:服务器在处理合法请求时发生内部故障,用户无法自行解决

常见代码
  • 500 Internal Server Error:通用服务器错误(代码异常、数据库连接失败等)。
  • 502 Bad Gateway:作为网关/代理时,上游服务返回无效响应(如后端宕机)。
  • 503 Service Unavailable:服务暂时不可用(过载、维护中),通常可重试
  • 504 Gateway Timeout:网关等待上游响应超时(后端处理太慢)。

🛠️ 运维建议

  • 503 可配合 Retry-After 响应头告知重试时间。
  • 监控 5xx 错误率,及时告警。

🧪 实战建议

场景

推荐做法

前端处理

对 4xx 显示用户友好提示;对 5xx 提供“稍后重试”按钮

API 设计

明确使用 400(参数错) vs 422(语义错,如邮箱格式正确但已被注册)

日志记录

记录 4xx/5xx 的完整请求上下文(URL、Headers、User-Agent)

Nginx 调试

403 常因目录无 index.html 或权限不足;检查 error.log


📋 HTTP 状态码速查表(高频场景)

状态码

类型

核心含义

常见原因

用户/开发者应对

200

✅ 成功

请求成功

一切正常

正常处理响应数据

301

🔁 重定向

永久迁移

资源 URL 已变更

更新书签或链接

302

🔁 重定向

临时跳转

A/B 测试、登录跳转

自动跟随重定向

304

🔁 缓存

未修改

客户端缓存仍有效

使用本地缓存,节省带宽

401

❌ 客户端

未认证

Token 过期、未登录

重定向至登录页

403

❌ 客户端

禁止访问

权限不足、IP 封禁

检查账号权限,联系管理员

404

❌ 客户端

资源不存在

URL 错误、页面删除

核对链接,提交反馈

429

❌ 客户端

请求过多

接口调用超频

降低频率,或申请配额

500

⚠️ 服务器

内部错误

代码异常、配置错误

刷新重试,反馈问题

502/504

⚠️ 服务器

网关故障

后端服务不可用

稍后重试,检查服务状态

503

⚠️ 服务器

服务不可用

维护、过载

等待恢复,避开高峰


💡 结语

HTTP 状态码不仅是“错误提示”,更是系统设计的契约。 合理使用状态码,能让前后端协作更高效,用户体验更流畅。

📌 记住

  • 4xx 是你(客户端)的问题 → 检查请求
  • 5xx 是我(服务端)的问题 → 请稍等

希望这篇指南能成为你开发路上的“状态码字典”!欢迎收藏、转发,也欢迎在评论区分享你遇到的“最离谱状态码”故事 😄

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🌐 一文读懂 HTTP 响应状态码:从 1xx 到 5xx 全解析
    • 📦 五大类 HTTP 状态码概览
    • 1️⃣ 1xx:信息性响应(Informational)
      • 常见代码
    • 2️⃣ 2xx:成功响应(Success)
      • 常见代码
    • 3️⃣ 3xx:重定向(Redirection)
      • 常见代码
    • 4️⃣ 4xx:客户端错误(Client Error)
      • 常见代码
    • 5️⃣ 5xx:服务器错误(Server Error)
      • 常见代码
    • 🧪 实战建议
    • 📋 HTTP 状态码速查表(高频场景)
    • 💡 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档