429 Too Many Requests

HTTP 429 Too Many Requests 客戶端錯誤響應狀態碼錶示客戶端在給定時間內傳送了太多請求。這種要求客戶端降低請求速率的機制通常被稱為“速率限制”。

響應中可能包含一個 Retry-After 頭部,以指示客戶端在再次發出請求之前應該等待多長時間。

速率限制的實現方式各不相同;限制可以是伺服器範圍的,也可以是針對每個資源的。通常,速率限制是基於客戶端的 IP 地址,但如果請求經過身份驗證或包含 cookie,則也可以針對特定的使用者或授權應用程式。

狀態

http
429 Too Many Requests

示例

包含 Retry-After 頭部的響應

以下請求由配置錯誤的客戶端在迴圈中重複傳送

http
GET /reports/mdn HTTP/1.1
Host: example.com

在此示例中,當客戶端每分鐘請求量超過設定的閾值時,伺服器範圍的速率限制就會啟用。伺服器會返回一個 429 響應,其中包含一個 Retry-After 頭部,指示該客戶端在 60 分鐘後才能再次傳送請求。

http
HTTP/1.1 429 Too Many Requests
Content-Type: text/html
Retry-After: 3600

<html lang="en-US">
  <head>
    <title>Too Many Requests</title>
  </head>
  <body>
    <h1>Too Many Requests</h1>
    <p>You're doing that too often! Try again later.</p>
  </body>
</html>

規範

規範
RFC 6585
# 第四節

另見