常见 HTTP 状态码含义详解

常见 HTTP 状态码含义详解

一、状态码的作用

浏览器每次访问网站,服务器响应都会带一个三位数字状态码,用来告诉客户端这次请求的结果。排查前端报错、接口联调、Nginx 反代问题时,第一步就是看状态码。状态码按首位分五大类:2 开头成功,3 开头重定向,4 开头客户端错误,5 开头服务端错误,熟练记住常用码能快速定位问题。

二、2xx 成功

  • 200 OK:请求成功,正常返回内容;
  • 201 Created:资源创建成功,常用于 POST 提交新增数据;
  • 204 No Content:成功但无返回体,PUT、DELETE 常用。

三、3xx 重定向

  • 301 Moved Permanently:永久重定向,搜索引擎会迁移权重,域名更换、http 跳 https 常用;
  • 302 Found:临时重定向,不转移权重;
  • 304 Not Modified:资源未修改,浏览器用本地缓存,配合 ETag、Last-Modified,不重复下载。

四、4xx 客户端错误

  • 400 Bad Request:请求参数格式错误,后端解析失败;
  • 401 Unauthorized:未认证,缺少或凭证错误,需要登录;
  • 403 Forbidden:已认证但无权限,或服务器拒绝访问(目录无权限、IP 被拦);
  • 404 Not Found:资源不存在,路由错误或文件被删;
  • 405 Method Not Allowed:请求方法不允许,如接口只接受 GET 却用 POST;
  • 413 Payload Too Large:上传文件超过服务器限制;
  • 429 Too Many Requests:请求过于频繁,被限流。

五、5xx 服务端错误

  • 500 Internal Server Error:服务器内部错误,代码异常、PHP 致命报错;
  • 502 Bad Gateway:反向代理收到后端无效响应,后端挂了或端口不通;
  • 503 Service Unavailable:服务暂时不可用,过载或维护中;
  • 504 Gateway Timeout:网关等待后端响应超时,后端处理太慢;
  • 500 与 502 区别:500 是后端自己报错,502/504 是代理连不上或等不到后端。

六、调试思路

前端看到异常先看状态码:4xx 一般是请求参数、权限、地址问题,改前端;5xx 是后端或服务器问题,查服务日志。配合浏览器 Network 面板看请求 URL、响应头和返回体,比只看页面白屏高效得多。

七、常见误区

  1. 把 403 当 404,其实是权限拒绝,不是找不到;
  2. 301 和 302 混用,301 会被浏览器长期缓存,改不回来;
  3. 502 只盯后端代码,忽略 Nginx 到后端的网络和端口;
  4. 401 和 403 分不清,401 是没登录,403 是登录了也不让进。

八、总结

记住 200/301/304/400/401/403/404/405/413/429/500/502/503/504 这十几个高频码,就能覆盖绝大多数排障场景。状态码是客户端和服务器沟通的语言,看懂它,前后端联调和线上故障定位都会快很多。


emer 发布于  2026-11-14 07:24 
'); })();