429 請求過多

HTTP **429 請求過多** 客戶端錯誤響應 狀態碼錶示客戶端在給定時間內傳送了太多請求。這種要求客戶端減慢請求速率的機制通常稱為 "速率限制"。

可以將 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>
  <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
# 第 4 節

另請參閱