网络基础

HTTP 状态码:先看类别,再看具体数字

用 2xx、3xx、4xx、5xx 建立判断框架,理解常见响应背后的真实含义。

当浏览器或程序向服务器发出 HTTP 请求,响应中会包含一个三位数状态码。它是对请求处理结果的简要描述。读状态码时,先看第一位所属的类别,再结合请求方法、响应头和内容判断细节。

五大类别#

1xx 表示信息性响应;2xx 表示请求已成功处理;3xx 表示还需要进一步动作,常见是重定向;4xx 表示请求一侧出现问题;5xx 表示服务器处理请求时出错。类别是排查入口,不是全部结论。

状态码 常见含义 排查时先看什么
200 OK 请求成功 内容是否符合预期
201 Created 成功创建资源 Location 或返回的新资源信息
301 Moved Permanently 永久重定向 新地址与缓存行为
302 Found 临时重定向 Location 指向哪里
304 Not Modified 缓存副本仍可用 条件请求和缓存头
400 Bad Request 请求格式等问题 参数与请求体
401 Unauthorized 需要身份验证 是否携带有效凭据
403 Forbidden 服务器拒绝访问 权限与访问规则
404 Not Found 未找到目标资源 URL 与路由
429 Too Many Requests 请求过于频繁 限流策略和重试间隔
500 Internal Server Error 服务器内部错误 服务端日志
502 Bad Gateway 网关从上游收到无效响应 反向代理与上游连接
503 Service Unavailable 服务暂时不可用 服务状态与容量

几个容易混淆的例子#

401 与 403 的区别通常是:前者表示当前请求缺少有效身份验证,后者表示服务器理解请求但拒绝执行。404 不一定说明服务器不存在;它也可能是路径拼错、资源已删除,或应用故意不公开某个资源。

304 并不是普通意义的“网页没内容”,而是缓存协商的结果:客户端可以继续使用已有副本。502 通常提示网关或反向代理与上游服务之间出了问题,排查应沿请求链逐段看。

用命令快速查看#

sh
curl -I https://example.com/
curl -L -I https://example.com/

第一条查看响应头;第二条会跟随重定向。排查时记录请求 URL、方法、状态码、Location 与时间,往往比只截一张错误页面更有帮助。

延伸阅读#