HTTP常见状态码(面试Markdown)
状态码分为5大类:
1xx 信息|2xx成功|3xx重定向|4xx客户端错误|5xx服务端错误
1xx 信息性(很少用到)
100 Continue:客户端可以继续发送请求
2xx 请求成功
- 200 OK:请求成功,正常返回数据
- 201 Created:资源创建成功,POST新增数据常用
- 204 No Content:请求成功,但是没有返回响应体(删除接口常用)
3xx 重定向
- 301 Moved Permanently:永久重定向,浏览器会缓存跳转地址
- 302 Found:临时重定向,不缓存,旧地址还会保留
- 304 Not Modified:资源未修改,走浏览器缓存,不需要返回完整资源(协商缓存)
区分:301永久;302临时;304缓存命中。
4xx 客户端错误(请求有问题)
- 400 Bad Request:请求参数错误,参数格式不对、json解析失败
- 401 Unauthorized:未认证,没有登录、token失效,需要身份验证
- 403 Forbidden:已经登录,但是权限不足,禁止访问
- 404 Not Found:请求的接口/资源不存在,url写错
- 405 Method Not Allowed:请求方法不允许,比如接口只支持POST,你发GET
- 406 Not Acceptable:服务端无法返回客户端想要的数据格式
- 429 Too Many Requests:请求过于频繁,被限流
面试必区分:
401:没登录;403:登录了但没权限。
5xx 服务端错误(后端出问题)
- 500 Internal Server Error:服务器内部未知错误,代码异常、空指针等
- 502 Bad Gateway:网关/代理拿到无效响应,后端服务挂掉、进程崩溃
- 503 Service Unavailable:服务不可用,服务过载、停机维护,临时无法处理
- 504 Gateway Time‑out:网关超时,后端接口执行时间太长没返回
区分高频坑:
502:后端直接崩了,无返回;
504:后端处理太慢,超时;
503:服务不可用,限流/停机。
面试口述精简版
HTTP状态码分5大类。
2xx代表成功,常用200正常返回,201创建资源,204无返回体。
3xx是重定向,301永久重定向,302临时重定向,304协商缓存命中。
4xx客户端错误:400参数错误,401未登录认证,403权限不足,404找不到资源,405方法不对,429请求被限流。
5xx服务端异常:500代码报错;502网关拿到无效响应,服务挂了;503服务不可用;504网关请求超时。
面试加分小提问:401和403区别、502与504区别,要能说清楚。