当前位置: 首页 > ds >正文

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

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

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

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

二、必知状态码详解

1. 成功响应(2xx)
状态码名称描述示例场景
200OK请求成功,返回预期结果获取资源成功(如网页、API数据)
201Created资源创建成功(通常伴随Location头返回新资源地址)提交表单成功创建新用户
204No Content请求成功,但无返回内容删除资源成功/OPTIONS预检请求

 

2. 重定向(3xx)
状态码名称描述示例场景
301Moved Permanently资源永久重定向(浏览器会缓存)网站改版后旧URL跳转到新URL
302Found资源临时重定向(浏览器不缓存)登录后跳转到首页
304Not Modified资源未修改(缓存有效)协商缓存命中时返回

 

3. 客户端错误(4xx)
状态码名称描述示例场景
400Bad Request请求语法错误或参数无效必填参数未传/JSON格式错误
401Unauthorized未认证(需提供身份凭证)未登录访问需要权限的API
403Forbidden服务器拒绝执行(权限不足)普通用户尝试访问管理员接口
404Not Found资源不存在访问不存在的URL
429Too Many Requests请求过于频繁API限流触发
4. 服务器错误(5xx)
状态码名称描述示例场景
500Internal Server Error服务器内部错误(无具体信息)代码抛出未捕获的异常
502Bad Gateway网关/代理服务器从上游收到无效响应Nginx反向代理的后端服务崩溃
503Service Unavailable服务不可用(临时过载或维护)服务器维护页面
504Gateway Timeout网关超时(上游服务器未及时响应)后端数据库查询超时

 

三、特殊状态码

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

 

四、状态码决策树  

 

 

五、最佳实践

  1. 前端处理建议

    • 2xx:正常处理数据

    • 401:跳转到登录页

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

    • 404:显示友好错误页

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

  2. 后端设计原则

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

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

  3. 调试技巧

// 在fetch/axios中拦截状态码
fetch(url).then(res => {if (!res.ok) throw new Error(`${res.status}: ${res.statusText}`);return res.json();})

 

http://www.xdnf.cn/news/4854.html

相关文章:

  • SEMI E40-0200 STANDARD FOR PROCESSING MANAGEMENT(加工管理标准)-(二)
  • 功能安全的关键——MCU锁步核技术全解析(含真实应用方案)
  • 深度 |提“智”向新,奔向未来——当前机器人产业观察
  • Redis协议与异步方式
  • 重定向及基础实验
  • QStackedLayout、QStackedWidget 二者的区别?
  • 桥隧坡灾害监测报警:用科技筑起生命安全的“智能防线”
  • C++23 views::as_rvalue (P2446R2) 深入解析
  • Hutool中的Pair类详解
  • Simufact Welding重塑新能源汽车电池盒焊接工艺
  • C程序题案例分析
  • Nacos源码—6.Nacos升级gRPC分析一
  • 缓存(1):三级缓存
  • 企业如何借助国外动态IP抢占海外市场先机?
  • uniapp 微信小程序使用图表
  • 人工智能在网络安全中的重要性
  • kotlin JvmName注解的作用和用途
  • 【WebRTC-13】是在哪,什么时候,创建编解码器?
  • 驱动开发硬核特训 · Day 30(下篇): 深入解析 lm48100q I2C 音频编解码器驱动模型(基于 i.MX8MP)
  • 【MCP】为什么使用Streamable HTTP: 相比SSE的优势与实践指南
  • 初识Dockerfile之RUN和WORKDIR
  • 【MySQL】第二弹——MySQL表的增删改查(CURD))
  • [ctfshow web入门] web57
  • 2025 后端自学UNIAPP【项目实战:旅游项目】3、API接口请求封装,封装后的简单测试以及实际使用
  • springCloud/Alibaba常用中间件之GateWay网关
  • 大型语言模型在网络安全领域的应用综述
  • 【WEB3】区块链、隐私计算、AI和Web3.0——数据民主化(1)
  • Python爬虫(21)Python爬虫进阶:Selenium自动化处理动态页面实战解析
  • RabbitMQ--基础篇
  • Android Studio 模拟器配置方案