http状态码有哪些:全覆盖分类+实战判断用法
常见http状态码分为1-5五大类别,分别对应信息响应、成功响应、重定向响应、客户端错误、服务端错误,日常开发、调试、排查接口问题时,你只需根据状态码归属类别,就能快速定位网络请求故障根源,主流可用的http状态码共计30余种,覆盖99%的前端、后端、运维实战场景,无需记忆冷门冗余码值,掌握核心常用码值即可满足所有业务需求。
1xx信息类状态码是临时响应,仅代表请求已接收、正在处理,不会返回最终数据,浏览器和客户端通常会自动忽略这类响应,无需人工干预。其中100是最常用码值,代表客户端可继续发送请求主体,多用于大文件上传场景;101表示协议切换,常用于HTTP升级为WebSocket的网络适配场景,其余102、103等码值极少使用,业务中基本不会遇到。
2xx成功类状态码是正常请求标识,说明你的请求被服务器成功接收、解析并处理完毕。200是最基础的成功状态码,代表普通请求完全正常,数据正常返回。201用于新增资源成功,常见于注册、发布内容等POST请求。204代表请求成功但无返回内容,多用于删除资源的接口响应,客户端无需刷新页面或接收数据。
3xx重定向类http状态码:请求地址跳转判定
这类状态码核心作用是引导客户端跳转新的请求地址,分为永久跳转和临时跳转两种。301是永久重定向,服务器会永久将旧地址映射到新地址,浏览器会缓存跳转规则,适合域名更换、页面永久迁移场景。302是临时重定向,仅单次请求生效,不会留存缓存,多用于登录拦截、页面临时跳转。304是高频实用码值,代表资源未修改,客户端可直接使用本地缓存,无需重新下载资源,能有效提升页面加载速度。
4xx客户端错误http状态码:请求参数与权限问题
所有4开头的状态码,故障根源都在客户端,也就是你的请求存在问题,服务器无法处理,和服务端代码、服务器配置无关。
- 400:请求参数格式错误、参数缺失,传参不规范导致解析失败
- 401:未登录、token失效,无身份认证权限
- 403:身份认证成功,但无访问当前资源的权限
- 404:请求的接口地址、页面路径不存在
- 405:请求方法不匹配,比如接口仅支持GET请求,你使用了POST请求
调试时最容易出现的错误操作是混淆401和403,很多人会误以为两者都是权限问题,实际401是没有身份凭证,需要重新登录获取权限,403是有凭证但权限不足,无法访问对应内容,错误替换处理方式会导致问题无法修复。
5xx服务端错误http状态码:服务器运行故障
5开头的状态码全部是服务器内部问题,你的请求格式、参数、权限均无问题,是服务端程序、服务器配置、资源异常导致请求处理失败。500是通用服务器错误,代表代码报错、程序运行异常,是开发中最常见的服务端报错。502为网关错误,服务器程序未正常启动、网关对接失败会触发该码值。503代表服务器暂时不可用,多见于服务器过载、接口限流、服务停机维护场景,等待一段时间重试即可恢复。504是网关超时,服务器处理请求耗时过长,超出预设响应时间阈值。
实战使用中存在明确的适用限制,1xx、2xx、3xx状态码仅用于判断请求链路状态,不会影响业务报错拦截,前端只需重点处理4xx客户端报错提示、5xx服务端报错重试逻辑,无需对所有冷门状态码做兼容处理,避免代码冗余。