HTTP状态码入门:从200到500读懂服务器的回答
每次打开网页,浏览器和服务器之间都会进行一次"对话"。服务器用一个三位数字作为回答的开头,这就是 HTTP 状态码。读懂它,就能在页面打不开、接口报错时快速判断:是我的问题,还是服务器的问题。
1xx:信息性响应——“收到,请稍候”
1 开头的状态码表示请求已收到、正在处理,客户端可以继续等待。日常开发中很少直接见到,比如 100 Continue 表示服务器同意客户端继续发送请求体,101 则用于协议切换(如升级到 WebSocket)。记住它们代表"还在处理中"即可。
2xx:成功——“搞定”
这是最让人开心的数字段。200 OK 表示请求成功,是最常见的返回;201 Created 表示资源创建成功,常见于 POST 新建数据的接口;204 No Content 表示成功但无返回内容,比如删除操作。看到 2xx,说明请求本身没有问题。
3xx:重定向——“换个地方找我”
3xx 表示需要客户端进一步操作才能完成请求。301 Moved Permanently 是永久重定向,浏览器会记住新地址;302 Found 是临时重定向,常用于登录后跳转;304 Not Modified 则告诉浏览器"用你缓存的版本就行",能显著减少流量。网站改版、域名更换时,301 是 SEO 友好的标准做法。
4xx:客户端错误——“你的请求有问题”
4 开头意味着请求本身有错,责任在客户端。400 Bad Request 是参数格式错误;401 Unauthorized 表示未认证,先登录再说;403 Forbidden 是服务器理解请求但拒绝执行,多为权限不足;404 Not Found 最常见,资源不存在;429 Too Many Requests 则提示请求太频繁,被限流了。排查接口问题时,先看是不是 4xx,再检查参数、Token 和权限。
5xx:服务器错误——“我这边出故障了”
5xx 表示服务器在处理请求时出错。500 Internal Server Error 是通用错误,通常对应后端代码异常;502 Bad Gateway 说明网关没能从上游拿到有效响应;503 Service Unavailable 表示服务暂时不可用,可能是过载或维护;504 Gateway Timeout 则是网关等待上游超时。遇到 5xx,先别急着改自己的代码,看看服务状态和日志。
实战:用状态码快速定位问题
养成看状态码的习惯:打开浏览器开发者工具的 Network 面板,每个请求的状态码一目了然。接口返回 401 就去检查登录态,404 就核对 URL,500 就联系后端同学。很多时候,状态码已经把"谁的锅"说清楚了。
总结
HTTP 状态码是服务器的"标准回答话术":1xx 处理中、2xx 成功、3xx 重定向、4xx 客户端错、5xx 服务器错。从 200 到 500,把这几个常见码记住,日常联调和排障会顺畅很多。
- 点赞
- 收藏
- 关注作者
评论(0)