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:后端/服务器问题(代码、网关、性能、服务宕机),需后端配合排查。
相关推荐
Hyyy14 分钟前
Function Calling / Tool Use的原理和实现模式
前端·llm·ai编程
爱勇宝21 分钟前
从 Ctrl+CV 到 Enter:程序员正在失去什么
前端·后端·程序员
徐小夕38 分钟前
我们开源了一款“框架无关”的思维导图编辑器,3分钟集成到任意系统
前端·javascript·github
PBitW41 分钟前
GPT训练我的第三天,明白了应该咋说满分回答!😕😕😕
前端·javascript·面试
摸着石头过河的石头1 小时前
前端多仓库管理:从混乱到有序的进化之路
前端
星栈1 小时前
写 Dioxus Demo 不难,难的是把它写成项目
前端·rust·前端框架
labixiong1 小时前
还原一个完整符合规范的 Promise(二)
前端·javascript
时光足迹2 小时前
腾讯云 TRTC UniApp SDK 从入门到上线
前端·vue.js·uni-app
时光足迹2 小时前
uni-app 里把加密视频嵌入页面播放?我分析了 4 种方案,只有 1 种接近完美
前端·vue.js·uni-app
To_OC2 小时前
万字解析《JS 语言精粹》之第五章:继承 5 大核心精髓(JS 原型核心)
前端·javascript·代码规范