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 會放慢檢索。短時間沒關係,長時間可能延後索引。