news 2026/7/2 16:06:38

HTTP 状态码详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HTTP 状态码详解

HTTP 状态码(HTTP Status Code)是服务器对客户端请求处理结果的标准化反馈,由3 位数字组成。首位数字定义了状态码所属的大类,后两位用于细分具体语义。

核心作用

  1. 明确请求是否成功
  2. 判断问题来源(客户端 / 服务器)
  3. 指导客户端下一步行为(重试、跳转、修正请求等)

一句话总览

  • 1XX:还在处理(协议层交互)
  • 2XX:成功(不同语义的成功结果)
  • 3XX:需要跳转(资源位置变更)
  • 4XX:客户端错(服务器拒绝请求)
  • 5XX:服务器错(请求合法但服务异常)

一、HTTP 状态码整体分类

分类含义
1XX信息性状态(处理中)
2XX成功
3XX重定向
4XX客户端错误
5XX服务器错误

二、1XX 信息性状态码(请求正在处理中)

仅用于协议层交互,不代表请求完成
浏览器与普通业务代码几乎感知不到

100 Continue(继续)

说明:服务器已收到请求头,允许客户端继续发送请求体。
典型场景

  • 大文件上传
  • POST 提交大量数据
  • 请求头包含Expect: 100-continue
    客户端行为:继续发送请求体;若请求已完成,可忽略该响应。
101 Switching Protocols(切换协议)

说明:服务器同意切换通信协议。
典型场景

  • HTTP → WebSocket
  • HTTP/1.1 → HTTP/2
102 Processing(处理中,WebDAV)

说明:服务器已接收请求并开始处理,但尚未完成。
场景

  • WebDAV 大文件操作
  • 批量远程文件处理

三、2XX 成功状态码(重点)

不同 2XX 状态码代表“成功的不同语义”
不应只使用 200

200 OK(请求成功)
  • 请求成功
  • 返回完整响应体
  • 最通用的成功状态码
    常见场景:网页访问、接口查询、文件下载
201 Created(资源创建成功)

说明:请求成功,并新建了资源
特征

  • 通常返回Location响应头
  • REST API 中非常重要
POST /users → 201 Created Location: /users/123
202 Accepted(请求已接受,尚未处理完成)

说明:请求合法,但处理将在后台异步执行。
典型场景

  • 批量任务
  • 消息投递
  • 异步计算
    注意
  • 不保证最终成功
  • 不返回处理结果
203 Non-Authoritative Information(非权威信息)
  • 返回结果经过代理修改
  • 实际项目中极少使用
204 No Content(成功但无返回内容)

说明

  • 请求成功
  • 响应体为空
  • 不改变当前页面状态
    典型场景
  • DELETE 删除
  • PUT 更新
  • 心跳接口
205 Reset Content(重置内容)
  • 请求成功
  • 提示客户端重置当前视图
  • 浏览器支持有限,实际使用极少
206 Partial Content(部分内容)

说明:服务器返回资源的一部分。
前提:请求头包含Range
典型场景

  • 断点续传
  • 视频 / 音频分段加载
Range: bytes=0-1023 → 206 Partial Content
✅ 2XX 使用建议
场景推荐状态码
查询成功200
创建资源201
异步任务202
删除成功204
分段下载206

四、3XX 重定向状态码

表示资源位置发生变化
客户端需重新请求

300 Multiple Choices(多种选择)
  • 资源存在多个版本
  • 浏览器通常自动选择
  • 实际使用较少
301 Moved Permanently(永久重定向)
  • 资源永久迁移
  • 浏览器会缓存重定向关系
  • SEO 场景常用
302 Found(临时重定向,HTTP/1.0)
  • 临时跳转
  • 可能将 POST 改为 GET
307 Temporary Redirect(临时重定向,HTTP/1.1)
  • 保留请求方法
  • 比 302 更安全
⭐ 308 Permanent Redirect(永久重定向,保留方法)
  • 类似 301
  • 强制保留原请求方法
  • 更适合 API / REST 场景
304 Not Modified(未修改)

说明

  • 资源未发生变化
  • 使用本地缓存
    前提
  • 请求头包含If-Modified-Since
  • 请求头包含If-None-Match

五、4XX 客户端错误状态码(重点)

4XX 的本质是:
服务器拒绝当前请求

1️⃣ 请求格式 / 内容错误
400 Bad Request
  • 参数格式错误
  • JSON 解析失败
  • 请求体不合法
    👉最常见接口错误
415 Unsupported Media Type
  • Content-Type 不被支持
  • 前后端联调高频错误
422 Unprocessable Entity(非常重要)
  • 语法正确
  • 业务校验失败
    示例
{"email":"invalid-email"}

👉 比 400 更“语义正确”,强烈推荐在 REST API 中使用

2️⃣ 身份 & 权限问题
401 Unauthorized
  • 未登录 / Token 无效
  • 需要重新认证
403 Forbidden
  • 已登录
  • 但无权限
3️⃣ 资源相关错误
404 Not Found
  • 资源不存在
  • 接口路径错误
  • ID 不存在
410 Gone(资源永久删除)
  • 与 404 不同
  • 明确表示:永远不会再有
    👉 SEO / 资源下线非常有价值
4️⃣ 请求方式错误
405 Method Not Allowed
  • 方法不被资源支持
  • 通常返回Allow
5️⃣ 请求频率 & 并发限制
408 Request Timeout
  • 客户端请求未完整发送
429 Too Many Requests(非常重要)
  • 请求过于频繁
  • 限流核心状态码
Retry-After: 60
✅ 常见 4XX 状态码速记
状态码含义
400参数错误
401未认证
403无权限
404不存在
405方法不支持
415媒体类型错误
422业务校验失败
429被限流

六、5XX 服务器错误状态码

请求是合法的
错误发生在服务器端

500 Internal Server Error
  • 代码 / 配置 / 运行异常(后端代码异常、数据库错误、配置错误)
  • 万能兜底,但不应滥用
501 Not Implemented
  • 服务器不支持该请求方法
  • 功能尚未实现
502 Bad Gateway
  • 网关收到了上游无效响应
  • 上游服务宕机 / 异常
503 Service Unavailable
  • 服务器暂时不可用(维护 / 过载)
  • 可恢复
  • 通常可重试
504 Gateway Timeout
  • 网关等不到上游响应
  • 上游服务响应超时

七、如何根据 HTTP 状态码进行错误排查(实战重点)

1️⃣ 快速判断原则(开发者排查思路核心)
2XX → 正常流程 3XX → 检查跳转逻辑 4XX → 优先检查客户端 5XX → 优先检查服务器
2️⃣ 客户端 / 前端处理策略
状态码建议处理
200正常渲染
201记录资源地址
204不刷新页面
401跳转登录
403提示无权限
404空态 / 404 页面
429延迟重试
5XX提示稍后重试
3️⃣ 后端接口设计建议(非常重要)

❌ 不要所有错误都返回 200
❌ 不要用 500 表示业务校验失败
✅ 语义正确比“省事”重要

推荐设计

场景状态码
参数错误400 / 422
未登录401
无权限403
不存在404
冲突409
限流429
服务异常5XX
4️⃣ 运维 / 网关排查方向
状态码优先排查
500应用日志
502上游服务
503服务负载
504超时配置

八、终极总结(面试 & 实战版)

状态码本质

HTTP 状态码 = 请求结果 + 问题归属

  • 4XX:你(客户端)的问题
  • 5XX:我(服务器)的问题
必背高频状态码
200 成功 201 创建 301 永久重定向 302 临时重定向 401 未登录 403 无权限 404 不存在 429 限流 500 服务器错误 503 服务不可用

👋 关注我!持续分享 C# 实战技巧、代码示例 & 技术干货

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 16:03:06

从0开始:用DeepSeek-R1-Distill-Qwen-1.5B打造专属AI助手

从0开始:用DeepSeek-R1-Distill-Qwen-1.5B打造专属AI助手 1. 引言:为什么选择 DeepSeek-R1-Distill-Qwen-1.5B? 在本地部署大模型的实践中,资源消耗与性能表现之间的平衡始终是核心挑战。尤其对于开发者、边缘设备用户或希望构建…

作者头像 李华
网站建设 2026/7/1 23:37:42

通义千问2.5显存优化:量化模型在RTX 3060上的部署实践

通义千问2.5显存优化:量化模型在RTX 3060上的部署实践 1. 引言 1.1 业务场景描述 随着大语言模型(LLM)在企业服务、智能助手和自动化脚本生成等领域的广泛应用,如何在消费级硬件上高效运行中等规模模型成为开发者关注的核心问题…

作者头像 李华
网站建设 2026/7/1 14:14:34

AI办公神器实战:用UI-TARS-desktop实现自动化任务

AI办公神器实战:用UI-TARS-desktop实现自动化任务 1. 引言:AI驱动的桌面自动化新范式 1.1 办公自动化的演进趋势 随着人工智能技术的快速发展,传统的RPA(机器人流程自动化)正在向更智能、更灵活的AI Agent模式演进。…

作者头像 李华
网站建设 2026/6/26 8:52:08

HY-MT1.5-1.8B部署教程:术语干预API开发详解

HY-MT1.5-1.8B部署教程:术语干预API开发详解 1. 引言 随着多语言交流需求的不断增长,高质量、低延迟的翻译服务成为智能应用的核心能力之一。混元团队推出的HY-MT1.5系列模型,凭借其在翻译质量与效率之间的出色平衡,迅速成为开发…

作者头像 李华
网站建设 2026/6/26 8:52:08

YOLOv9镜像使用总结,值得收藏

YOLOv9镜像使用总结,值得收藏 随着目标检测技术的持续演进,YOLOv9 以其在精度与效率之间的出色平衡,迅速成为工业界和学术界的热门选择。然而,从零搭建训练与推理环境往往耗时耗力,尤其是在处理复杂依赖和版本兼容性问…

作者头像 李华
网站建设 2026/6/29 22:57:44

Qwen2.5-7B与InternLM2-7B对比:轻量模型部署效率评测

Qwen2.5-7B与InternLM2-7B对比:轻量模型部署效率评测 1. 背景与选型动机 随着大语言模型在边缘设备和中小企业场景中的广泛应用,7B参数级别的轻量级模型因其“性能与成本”的良好平衡,成为本地化部署的热门选择。在众多开源7B模型中&#x…

作者头像 李华