HTTP状态码全量详解(定义+核心区别+业务场景+前端常见诱因+排查方案+工程处理)

一、1xx 信息性状态码(请求已接收,继续处理)

  1. 100 Continue 继续

    客户端已发送部分请求,服务端确认接收正常,通知客户端可继续发送剩余请求体;多用于大文件分块上传、长请求场景。
    核心特点 :纯过渡状态,无业务跳转/报错。
    前端诱因 :请求带 Expect: 100-continue 请求头。
    排查&处理:无需手动处理,浏览器/axios 自动协商。

  2. 101 Switching Protocols 协议切换

    服务端同意客户端请求,切换通信协议;最典型:HTTP 升级为 WebSocket
    核心区别 :不是错误,是协议协商成功。
    前端场景 :聊天室、实时通讯、SSE 长连接初始化。
    排查 :查看响应头 UpgradeConnection 字段。

  3. 102 Processing 处理中

    服务端已接收请求,但尚未完成处理,无响应数据返回;多用于文件批量处理、复杂后台任务。

  4. 103 Early Hints 早期提示

    服务端提前推送静态资源(CSS、JS)链接,浏览器可提前预加载,优化首屏性能。


二、2xx 成功状态码(请求正常处理完成)

  1. 200 OK 请求成功

    最常用状态码,请求完全正常,服务端成功返回响应数据。
    场景 :正常接口请求、页面访问、静态资源加载。
    区分:业务报错(code=-1)≠ HTTP 200 报错,HTTP 层面正常。

  2. 201 Created 已创建

    请求成功且新建资源 生效,常用于 POST 提交新增数据(注册、创建表单)。
    关键 :响应头通常携带 Location,指向新建资源地址。

  3. 202 Accepted 已接受

    请求已接收,但任务为异步处理,暂时未完成结果返回;多用于异步任务、队列任务。

  4. 203 Non-Authoritative Information 非权威信息

    代理服务器转发修改了响应内容,返回的数据非源站原始数据。

  5. 204 No Content 无内容

    请求成功,但不返回任何响应体 ;常用删除操作、埋点上报、心跳请求。
    前端坑点:请求成功但无数据,页面不做渲染更新。

  6. 205 Reset Content 重置内容

    请求成功,要求客户端重置页面表单/视图状态,清空输入内容。

  7. 206 Partial Content 部分内容

    断点续传、分片下载、视频流媒体专属,服务端返回部分资源数据
    核心 :依赖请求头 Range、响应头 Content-Range


三、3xx 重定向状态码(资源位置变更,需要二次请求)

301 / 302 核心对标(高频重点)

  1. 301 Moved Permanently 永久重定向

    代表资源永久迁移 ,地址彻底变更;浏览器会永久缓存跳转规则 ,后续访问自动跳转。
    和302本质区别 :永久生效、强缓存跳转、SEO 权重转移。
    前端诱因 :域名更换、接口路由永久改版、HTTPS 强制升级。
    排查 :查看响应头 LocationCache-Control;如需取消需清空浏览器缓存。

  2. 302 Found 临时重定向

    资源临时迁移 ,只是短期变更,不会缓存跳转规则,下次请求仍会重新判断。
    前端常见诱因 :登录鉴权失效、权限拦截、后端临时路由调整、未登录强制跳登录页。
    排查方案 :优先看响应头 Location 确认跳转地址;核对 Token、Cookie、请求凭证、代理配置、接口链路,区分是业务拦截还是配置错误。
    工程处理:全局请求拦截器统一捕获 302,拦截非法接口跳转,防止业务流程崩溃。

  3. 303 See Other 查看其他地址

    临时重定向,强制使用 GET 请求 访问新地址;常用于 POST 提交后跳转到结果页。

  4. 304 Not Modified 资源未修改

    协商缓存核心状态码,服务端判定本地缓存资源未过期、无修改,不返回资源本体 ,直接使用本地缓存。
    前端场景 :静态图片、JS、CSS 缓存优化。
    排查 :查看 If-Modified-SinceETagCache-Control 缓存请求头。

  5. 307 Temporary Redirect 临时重定向

    纯临时重定向,严格保留原请求方法与请求体(302可能会被浏览器改为GET),适合接口POST请求跳转。

  6. 308 Permanent Redirect 永久重定向

    永久迁移+保留原请求方法,301 的加强版,适合接口永久路由变更。


四、4xx 客户端错误(请求非法,问题出在前端/请求方)

  1. 400 Bad Request 请求参数错误

    服务端无法解析请求,参数格式错误、JSON 格式非法、参数缺失/类型不匹配。
    前端诱因 :传参写错、JSON 序列化失败、请求体格式错乱。
    排查 :检查入参格式、请求头 Content-Type、接口字段约束。

  2. 401 Unauthorized 未授权/未登录

    身份凭证失效,未携带Token / Token过期 / 签名失效 ,需要重新登录认证。
    区分403 :401是没资格登录,403是登录了但没权限。
    工程处理:拦截器捕获401,统一跳转登录页、清空过期凭证。

  3. 403 Forbidden 禁止访问

    登录成功、身份合法,但无当前接口/页面访问权限(角色权限、菜单权限、IP 黑名单)。

  4. 404 Not Found 资源不存在

    请求接口地址错误、路由不存在、静态资源路径404、后端接口未部署。
    排查:核对请求URL、后端路由、代理转发规则、静态资源路径。

  5. 405 Method Not Allowed 请求方法不允许

    接口仅支持 GET/POST,前端用了 PUT/DELETE;后端未配置对应请求方法。

  6. 406 Not Acceptable 格式不匹配

    服务端返回数据格式,不满足客户端 Accept 请求头要求(如只接受JSON却返回HTML)。

  7. 407 Proxy Authentication Required 代理需要认证

    使用代理服务器上网,需要填写代理账号密码授权。

  8. 408 Request Timeout 请求超时

    客户端请求长时间未发送完成,服务端主动断开连接;网络差、请求阻塞高发。

  9. 409 Conflict 资源冲突

    数据冲突,如重复创建同名数据、版本冲突、并发修改同一条数据。

  10. 410 Gone 资源已永久删除

    资源彻底删除,不再提供访问,区别于404(404是找不到,410是明确下架)。

  11. 411 Length Required 需要长度字段

    请求缺少 Content-Length 请求头,服务端拒绝接收。

  12. 412 Precondition Failed 前置条件失败

    缓存校验、版本锁、前置校验不通过(ETag 失效、资源版本变更)。

  13. 413 Content Too Large 请求体过大

    上传文件、请求参数体积超出后端限制。

  14. 414 URI Too Long 链接过长

    URL 携带参数过多、get 传参超限。

  15. 415 Unsupported Media Type 媒体类型不支持
    Content-Type 错误,如后端要求 application/json,前端传了 form-data

  16. 422 Unprocessable Entity 参数校验失败

    参数格式合法,但业务规则校验不通过(手机号格式错误、密码规则不符)。

  17. 429 Too Many Requests 请求过于频繁

    接口限流、防刷限制,短时间重复请求过多,触发后端限流策略。
    处理:添加节流防抖、间隔重试、请求排队。


五、5xx 服务端错误(服务内部异常,后端/服务器问题)

  1. 500 Internal Server Error 服务器内部错误

    后端代码报错、空指针、数据库异常、逻辑Bug、代码崩溃,通用服务异常。
    排查:查看后端日志、接口堆栈、数据库连接状态。

  2. 501 Not Implemented 功能未实现

    服务端暂不支持该请求方法/接口功能,接口未开发完成。

  3. 502 Bad Gateway 网关错误

    网关/nginx 转发失败,后端服务宕机、端口不通、服务未启动。
    高频场景:后端服务挂了、容器崩溃、反向代理配置错误。

  4. 503 Service Unavailable 服务不可用

    服务临时过载、维护中、服务器宕机、集群熔断、限流关停。
    特点 :临时不可用,恢复后可正常访问,常携带 Retry-After 重试时间。

  5. 504 Gateway Timeout 网关超时

    nginx/网关转发后端请求,后端接口响应太慢,超时断开;接口慢查询、大数据量处理高发。

  6. 505 HTTP Version Not Supported HTTP版本不支持

    客户端使用的 HTTP 版本(HTTP/1.0、HTTP/2)服务端不兼容。

  7. 507 Insufficient Storage 存储空间不足

    服务器磁盘、存储空间耗尽,无法处理请求。


快速总结

  1. 1xx:过渡提示,无错误;
  2. 2xx:请求成功,业务正常;
  3. 3xx :重定向跳转,核心区分永久(301) / 临时(302) ,排查必看 Location
  4. 4xx:前端问题(参数、权限、路径、请求格式),前端可自查修复;
  5. 5xx:后端/服务器问题(代码、网关、性能、服务宕机),需后端配合排查。
相关推荐
晓得迷路了2 小时前
栗子前端技术周刊第 126 期 - Rspack 2.0、TypeScript 7.0 Beta、Git 2.54...
前端·javascript·ai编程
小小码农Come on2 小时前
单例 QtObject 全局配置
开发语言·前端·javascript
Go 言 Go 语2 小时前
Claude Code 核心加载机制详解
服务器·前端·数据库
朝阳392 小时前
CSS【详解】给子元素添加间距的最佳实践(含space 和 gap 的区别图解和面试的标准答案)
前端·css
s6516654962 小时前
Makefile语法学习
java·linux·前端
悟空爬虫-彪哥2 小时前
Stich接入Codex教程
java·前端·数据库
深海鱼在掘金2 小时前
Next.js从入门到实战保姆级教程(第十五章):部署运维与 CI/CD
前端·ci/cd·next.js
veminhe2 小时前
Java后端、PC前端学习备忘
前端
深海鱼在掘金2 小时前
Next.js从入门到实战保姆级教程(第十七章):综合实战项目(下)——前端页面、性能优化与部署
前端·ci/cd·next.js