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 # 第四節 |