HTTP 状态码是服务器对客户端请求的响应标识,用于表示请求的处理结果

以下是完整的 HTTP 状态码分类和常见状态码详解:

一、状态码分类(5大类)

分类 范围 描述 常见场景
1xx 100-199 信息性响应 请求已被接收,继续处理
2xx 200-299 成功响应 请求成功处理
3xx 300-399 重定向响应 需要进一步操作
4xx 400-499 客户端错误 请求包含错误
5xx 500-599 服务器错误 服务器处理失败

二、必知状态码详解

1. 成功响应(2xx)
状态码 名称 描述 示例场景
200 OK 请求成功,返回预期结果 获取资源成功(如网页、API数据)
201 Created 资源创建成功(通常伴随Location头返回新资源地址) 提交表单成功创建新用户
204 No Content 请求成功,但无返回内容 删除资源成功/OPTIONS预检请求
2. 重定向(3xx)
状态码 名称 描述 示例场景
301 Moved Permanently 资源永久重定向(浏览器会缓存) 网站改版后旧URL跳转到新URL
302 Found 资源临时重定向(浏览器不缓存) 登录后跳转到首页
304 Not Modified 资源未修改(缓存有效) 协商缓存命中时返回
3. 客户端错误(4xx)
状态码 名称 描述 示例场景
400 Bad Request 请求语法错误或参数无效 必填参数未传/JSON格式错误
401 Unauthorized 未认证(需提供身份凭证) 未登录访问需要权限的API
403 Forbidden 服务器拒绝执行(权限不足) 普通用户尝试访问管理员接口
404 Not Found 资源不存在 访问不存在的URL
429 Too Many Requests 请求过于频繁 API限流触发
4. 服务器错误(5xx)
状态码 名称 描述 示例场景
500 Internal Server Error 服务器内部错误(无具体信息) 代码抛出未捕获的异常
502 Bad Gateway 网关/代理服务器从上游收到无效响应 Nginx反向代理的后端服务崩溃
503 Service Unavailable 服务不可用(临时过载或维护) 服务器维护页面
504 Gateway Timeout 网关超时(上游服务器未及时响应) 后端数据库查询超时

三、特殊状态码

状态码 名称 用途
101 Switching Protocols 协议切换(如WebSocket握手)
206 Partial Content 分块传输(用于大文件断点续传)
418 I'm a teapot 彩蛋状态码(RFC 2324)

四、状态码决策树

五、最佳实践

  1. 前端处理建议

    • 2xx:正常处理数据

    • 401:跳转到登录页

    • 403:显示"无权访问"提示

    • 404:显示友好错误页

    • 5xx:建议用户稍后重试

  2. 后端设计原则

    • 4xx表示客户端问题,响应中应包含error_details

    • 5xx表示服务端问题,避免暴露内部错误信息

  3. 调试技巧

javascript 复制代码
// 在fetch/axios中拦截状态码
fetch(url)
  .then(res => {
    if (!res.ok) throw new Error(`${res.status}: ${res.statusText}`);
    return res.json();
  })
相关推荐
happymaker06269 分钟前
Linux常见命令总结
linux·运维·服务器
华纳云IDC服务商20 分钟前
高防CDN和高防IP一起用,延迟会增加多少?
网络·网络协议·tcp/ip
开源量化GO24 分钟前
期货 K 线算信号 tick 级止损:天勤双序列 wait_update 触发规则
linux·运维·服务器·python
m0_7381207226 分钟前
HVV应急溯源基础——Linux 系统安全加固配置指南(一)
linux·运维·服务器·安全·网络安全·系统安全
github_czy1 小时前
更加优雅的类型检查与传参---mcp源码分析
java·服务器·开发语言
yuegu7771 小时前
HarmonyOS应用<节气通>开发第25篇:HTTP请求封装
网络协议·http·harmonyos
vortex51 小时前
Linux日志轮转管理:logrotate 完全指南
linux·运维·服务器
IT大白鼠2 小时前
BGP多归属技术原理与应用实践
网络·网络协议·华为
忧云2 小时前
HTTP抓包工具:安装配置与使用教程
网络协议·网络抓包工具·http抓包
lqjun08273 小时前
Linux 下 Hermes Agent 代理配置不生效问题的解决
linux·服务器