Skip to content

引言

5XX 的响应结果表明服务器本身发生错误。

500 Internet Server Error

img

该状态码表明服务器端在执行请求时发生了错误。也有可能是 Web 应用存在的 bug 或某些临时的故障。

含义:服务器在处理请求时遇到不可预期的错误,无法完成请求。

常见原因

  • 服务器端代码出现 bug(如空指针、异常未捕获)。
  • 配置错误(如 PHP、Java 等运行环境报错)。
  • 依赖服务异常(如数据库连接失败)。

注意:500 表示一个通用错误状态码,除非确定具体原因,否则服务器返回该状态码意味着“内部逻辑出错”。

502 Bad Gateway

含义:作为网关或代理的服务器(如 Nginx、CDN、API Gateway)从上游服务器接收到无效响应

常见原因

  • 上游服务宕机或无响应。
  • 上游服务返回了非 HTTP 协议格式的数据(如超时或 TCP 连接失败)。
  • 代理服务器的配置错误(反向代理目标地址写错)。

503 Service Unavailable

img

该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。如果事先得知解除以上状况需要的时间,最好写入 Retry-After 首部字段再返回给客户端。

含义:服务器 暂时超负载 或 正在停机维护,无法处理请求。

常见原因

  • 流量过大导致服务压力过高(如秒杀、热点流量)。
  • 服务器正在更新或重启。
  • 后端依赖服务不可用(数据库、缓存等)。

建议:如果预计恢复时间,可以通过 Retry-After 首部字段告诉客户端多久后可重试。

504 Gateway Timeout

含义:作为网关或代理的服务器(如 Nginx、CDN、API Gateway),在等待上游服务器响应时超时。

常见原因

  • 上游服务处理请求耗时过长(超出 Nginx 或 CDN 等网关的 timeout 配置)。
  • 上游服务器宕机或网络延迟。

区别

  • 502 是收到无效响应(如报错、数据格式不对)。
  • 504 是根本没有响应(超时)。

状态码和状况的不一致

不少返回的状态码响应都是错误的,但是用户可能察觉不到这点。比如 Web 应用程序内部发生错误,状态码依然返回 200 OK,这种情况也经常遇到。

如有转载或CV请标注本站原文地址