第一次看懂 HTTP 状态码:从 200 到 500
刚接触 Web 开发时,浏览器控制台里最常见的就是一串三位数:200、301、404、500。它们不是报错代码大全,而是服务器给你的简短回执。读懂这套语言,排查问题能快一半。
先看第一位数字:分五类就够了
状态码共分五类,只看首位就能定性。1xx 是信息性响应,平时很少直接打交道;2xx 表示成功;3xx 表示重定向;4xx 是客户端的错;5xx 是服务器的错。先分清是“谁的锅”,再往下细查。
2xx:成功,但不都一样
200 OK 是最常见的成功,请求被正确处理。201 Created 多见于新建资源,比如提交表单后成功创建了一条记录。204 No Content 也表示成功,只是不返回内容,删除操作后很常见。看到 2xx,基本可以先排除请求本身的问题。
3xx:不是错,是“请换个地方”
301 是永久重定向,旧地址永久搬家,搜索引擎会把权重转给新地址;302 是临时重定向,只这一次换地方。304 Not Modified 则很有用:浏览器问服务器“资源变了吗”,服务器说“没变,用你缓存的吧”,能省下不少流量。网站换域名后 301 配错,是排名丢失的常见原因。
4xx:先检查自己的请求
404 Not Found 最出名:地址写错、资源被删都会触发。先确认 URL 有没有拼错、大小写对不对,再怀疑服务器。400 Bad Request 是请求本身格式有问题,比如参数缺了必填项。401 是未登录,403 是登录了但没权限——两者别混:一个是“你是谁”,一个是“你不配”。429 则表示请求太频繁,被限流了,慢一点重试就好。
5xx:服务器那边出了问题
500 Internal Server Error 是服务器内部出错,代码异常、配置错误都可能导致。502 Bad Gateway 常出现在反向代理场景:Nginx 后面的应用挂了,网关无处转发。503 Service Unavailable 表示服务暂时不可用,可能是过载或正在维护,稍后重试往往能恢复。看到 5xx,客户端一般无能为力,重点是看服务端日志。
排查时的一套固定动作
第一步看首位定性,第二步结合接口文档确认这个码在当前业务里的具体含义,第三步按类别行动:4xx 改请求,5xx 查服务端日志和服务状态,3xx 检查跳转链有没有死循环。一个小习惯能省很多时间:把每次遇到的“码 + 场景 + 原因”记下来,几周后你就有了自己的排错手册。
状态码只是开始,真正理解一次完整的请求与响应过程,才算入门 Web 开发。但先把这五类记熟,下次再看到 404 或 502,你就知道该往哪个方向查了。
- 点赞
- 收藏
- 关注作者
评论(0)