HTTP 状态码入门:从 200 到 500,看懂接口返回的第一行
调接口时,很多人第一眼看的是返回的数据,却忽略了最前面的一行状态。HTTP 状态码就是服务器给出的第一句回答,它只有三位数字,却能告诉你请求是成功、需要换个地址、还是参数或服务出了问题。先看懂状态码,再去看响应体,排查效率会高很多。
一、先记住五大类,只看第一位就够了
状态码的第一位决定了大类。1xx 表示请求已收到、正在处理,日常开发很少直接处理;2xx 表示成功;3xx 表示重定向,需要按新地址再请求一次;4xx 表示客户端出了问题;5xx 表示服务器出了问题。记住这个分类,就能在第一时间判断该找前端、后端,还是先检查自己的请求。
二、2xx:成功,但含义并不完全一样
最常见的是 200,表示请求成功,服务器正常返回了数据。201 表示资源已创建,常出现在新建订单、注册成功等场景。204 表示请求成功但没有内容返回,例如删除成功后不需要再返回数据体。看到 2xx,先不要急着庆祝,还要确认业务字段是否符合预期,因为有些接口会用 200 返回业务失败信息,真正的错误原因藏在响应体里。
三、3xx:不是错误,而是请你换个地方
301 表示资源永久移动到了新地址,以后都应该用新地址;302 表示临时移动,本次用新地址,下次仍可用旧地址。304 表示资源没有变化,可以直接用本地缓存,不用重复下载。遇到 3xx,通常先检查请求地址是否过时、是否缺少斜杠或协议跳转,而不是立刻怀疑接口坏了。
四、4xx:先检查自己的请求
400 表示请求参数有问题,例如字段缺失、格式错误或类型不对。401 表示未登录或登录已过期,需要重新获取凭证。403 表示身份没问题,但没有权限访问该资源。404 表示资源不存在,可能是地址写错,也可能是资源已被删除。405 表示方法不对,例如对只支持查询的接口发了提交请求。429 表示请求太频繁,被限流了,应该放慢节奏或按提示等待。出现 4xx,优先自查地址、参数、凭证和权限。
五、5xx:服务器端出了问题
500 表示服务器内部错误,可能是代码异常或配置问题。502 表示网关收到了无效响应,常出现在服务重启或上游不可用时。503 表示服务暂时不可用,可能是过载或正在维护。504 表示网关等待上游超时。遇到 5xx,不要反复高频重试,先保留请求时间、接口地址和错误信息,再联系后端或查看服务状态,盲目重试可能加重服务器负担。
六、一个实用的排查顺序
第一步,看状态码大类,确定问题归属;第二步,看具体状态码,缩小范围;第三步,看响应体和错误信息,确认是参数、权限还是业务逻辑问题;第四步,看请求头、地址和方法是否写对;第五步,需要求助时,把接口地址、请求方法、状态码、时间和关键错误信息一起提供,对方才能快速复现。
七、三个常见误区
第一,200 不等于业务成功,还要看业务码和数据。第二,404 不一定是后端不存在,也可能是前端拼错了路径或环境地址不同。第三,500 不一定是你的错,但你提供的信息越完整,修复就越快。把状态码当作沟通语言,而不是一串冷冰冰的数字,接口联调会顺畅很多。
总结一句话:2xx 看业务结果,3xx 看新地址,4xx 先自查请求,5xx 保留证据再求助。养成先看状态码的习惯,你就已经比只看报错截图的人快了一步。
- 点赞
- 收藏
- 关注作者
评论(0)