HTTP 状态码详解:301、404、502 都代表什么意思
2xx 成功、3xx 重定向、4xx 客户端错、5xx 服务端错。逐个讲清 301/302、401/403、502/504 等高频状态码的区别与排障思路。
一、五大类一览
- 1xx:信息响应(101 协议升级,WebSocket 握手用)。
- 2xx:成功(200 一切正常、204 成功无内容、201 已创建)。
- 3xx:重定向(301 永久、302 临时、304 缓存有效)。
- 4xx:客户端的问题(请求本身有错)。
- 5xx:服务端的问题(服务器处理失败)。
二、重定向三兄弟:301/302/308
- 301:永久跳转。浏览器会缓存,搜索引擎把权重转移到新地址——换域名必须用 301。
- 302:临时跳转。搜索引擎保留原地址权重,适合临时维护页。
- 307:临时跳转且不允许改请求方法(POST 还是 POST)。
- 308:永久跳转且保持方法。
历史坑:302 早期实现常把 POST 改成 GET,于是补出了 307/308。
三、高频客户端错误
- 400:请求格式错误(参数缺失、JSON 非法)。
- 401:未登录/凭证无效(Unauthorized)。
- 403:已登录但没权限(Forbidden)。
- 404:资源不存在;405:方法不支持(对只读接口发 POST)。
- 429:请求太频繁被限流。
四、服务端错误与排障
- 500:服务器内部异常,看后端日志堆栈。
- 502:网关收到坏响应——上游服务挂了或没启动,Nginx 反代常见。
- 503:服务不可用(过载或维护中)。
- 504:网关超时——上游处理太慢,检查慢查询/死循环。
排障口诀:502 查上游死活,504 查上游快慢,500 查应用日志。
在线体验
不用装任何环境,直接用本站URL 编解码工具在线操作,数据都在浏览器本地处理,方便又安全。
常见问题
401 和 403 有什么区别?
401 是「你是谁?」——没有身份或凭证失效,重新登录可解决;403 是「我知道你,但不行」——身份有效但权限不够,登录也没用。
网站换域名后为什么要做 301?
301 告诉搜索引擎和浏览器永久迁移:权重、收录会逐步转移到新域名,还能让老用户书签自动更新,把流量损失降到最低。
502 和 504 怎么快速区分?
502 = 上游返回了无效响应或拒绝连接(服务崩了);504 = 上游在超时时间内没响应(服务太慢)。先看反代日志里 upstream 的具体报错。
