DevToolPal
简
4xx 客户端错误

429 Too Many Requests

请求过多

含义

客户端在一定时间内发送了太多请求(被限流)。Retry-After 可能说明需要等待多久。

常见原因

  • 超出 API 速率限制或配额
  • 没有退避机制的重试循环
  • 大量用户共用一个 IP

解决方法

客户端或访问者

遵守 Retry-After,使用带随机抖动的指数退避,缓存结果并合并请求。

网站或 API 的维护者

返回 Retry-After 和 RateLimit 头让客户端自我调节,并按密钥或用户限流,而不只是按 IP。

响应示例

HTTP/1.1
HTTP/1.1 429 Too Many Requests
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Retry-After: 30
RateLimit-Policy: 100;w=60
Content-Type: application/problem+json

{
  "type": "about:blank",
  "title": "Too Many Requests",
  "status": 429,
  "detail": "Rate limit of 100 requests per minute exceeded."
}

规范

RFC 6585 §4

常见问题

› 收到 429 后应该等多久?

有 Retry-After 就按它来;否则使用指数退避,例如 1、2、4、8 秒并加上随机抖动。

› 429 会影响 SEO 吗?

Googlebot 看到 429 会降低抓取速度。短时间没关系,长时间可能推迟收录。