常见状态码+易混区别+真实场景举例,专业好记,直接背✅
HTTP状态码5大类+高频码示意图
一、状态码分类
- • 1xx:中间响应,请求处理中
- • 2xx:成功
- • 3xx:重定向/缓存
- • 4xx:客户端错误
- • 5xx:服务端错误
二、高频状态码 + 解释 + 例子
✅ 2xx 成功
- • 200:请求成功,正常返回
例:打开首页、查询列表 - • 201:资源创建成功
例:注册账号、新建订单 - • 204:成功,但无返回体
例:埋点上报、退出登录
✅ 3xx 重定向/缓存
- • 301:永久重定向
例:旧域名永久迁移到新域名 - • 302:临时重定向
例:未支付订单临时跳转到支付页 - • 304:资源未修改,使用缓存
例:第二次打开网页,图片/JS不重新下载
✅ 4xx 客户端错误
- • 400:请求参数错误
例:手机号格式不对、少传必传字段 - • 401:未登录/Token过期
例:未登录就访问个人中心 - • 403:权限不足
例:普通用户访问管理员后台 - • 404:资源不存在
例:访问错误接口、删除后的文件 - • 405:请求方法错误
例:接口只支持POST,却用GET访问 - • 429:请求频率超限
例:1秒内刷接口100次被限流
✅ 5xx 服务端错误
- • 500:服务器代码异常
例:空指针、数据库报错 - • 502:网关错误
例:后端服务挂了、没启动 - • 503:服务过载/维护
例:秒杀高峰期、服务器维护中 - • 504:网关超时
例:查询数据太慢,超过超时时间
三、易混状态码对比(面试必考)
1. 301 vs 302
- • 301 永久:旧地址废弃,浏览器会记住
- • 302 临时:临时跳转,下次仍访问原地址
2. 302 vs 304
- • 302:跳转到新地址
- • 304:不跳转,直接用本地缓存
3. 401 vs 403(高频!)
- • 401:不知道你是谁 → 请登录
- • 403:知道你是谁,但无权访问
4. 200 vs 204
- • 200:成功+返回数据
- • 204:成功+不返回任何数据
5. 502 vs 504
- • 502:后端服务完全挂了,连不上
- • 504:能连上,但执行超时
四、深挖三层:排查思路
- 1. 4xx 一定是客户端问题
参数、Token、权限、地址、请求方法错误 - 2. 5xx 一定是服务端问题
代码Bug、服务宕机、超时、数据库挂了 - 3. 304 不是报错,是缓存优化
正常现象,提升加载速度
五、10秒速记
200正常 201创建 204无内容
301永久 302临时 304缓存
400参数 401未登 403无权 404不存在
500异常 502挂了 504超时
MiaoAll