网络知识篇

什么是网络状态码

服务器的"表情包"

每次服务器返回响应时,都会附带一个三位数的状态码(Status Code),告诉你这次请求的结果如何。

💡 类比:状态码就像快递的物流状态——"已签收"(200)、"地址不存在"(404)、"仓库爆炸了"(500)。

加载图表中...

状态码分类

范围类别含义谁的问题?
1xx信息性请求已收到,继续处理
2xx成功请求成功完成没问题
3xx重定向需要进一步操作地址变了
4xx客户端错误请求有误你的问题
5xx服务器错误服务器处理失败服务器的问题

最常见的状态码

2xx — 成功

状态码名称含义
200OK请求成功,返回数据
201Created资源创建成功(POST后常见)
204No Content成功,但没有返回数据(DELETE后常见)
加载图表中...

3xx — 重定向

状态码名称含义
301Moved Permanently资源永久搬家了
302Found资源临时搬家了
304Not Modified资源没变,用缓存就行
加载图表中...

4xx — 客户端错误(你的问题)

状态码名称含义常见场景
400Bad Request请求格式有误参数缺失或格式错误
401Unauthorized未登录没提供身份凭证
403Forbidden无权限登录了但没权限访问
404Not Found资源不存在URL写错了
405Method Not Allowed方法不对用GET请求了只支持POST的接口
429Too Many Requests请求太频繁触发了限流
加载图表中...

5xx — 服务器错误(服务器的问题)

状态码名称含义常见场景
500Internal Server Error服务器内部错误代码bug、数据库连不上
502Bad Gateway网关错误上游服务挂了
503Service Unavailable服务不可用服务器过载或维护中
504Gateway Timeout网关超时请求处理时间太长

实际开发中的状态码处理

const response = await fetch("/api/articles");

switch (response.status) {
  case 200:
    const data = await response.json();
    console.log("成功:", data);
    break;
  case 401:
    console.log("请先登录");
    window.location.href = "/login";
    break;
  case 404:
    console.log("资源不存在");
    break;
  case 500:
    console.log("服务器出错了,稍后再试");
    break;
}

状态码速查表

加载图表中...

🎯 AI编程小贴士:遇到非200的状态码时,把完整的状态码和响应体发给AI,它通常能快速告诉你问题出在哪里。

小结

  • 状态码是服务器告诉你请求结果的三位数代码
  • 2xx 成功、3xx 重定向、4xx 你的错、5xx 服务器的错
  • 200 成功、404 找不到、500 服务器崩了——记住这三个就够入门
  • 4xx 错误先检查自己的请求,5xx 错误找后端