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 節 |
另請參閱
- HTTP 響應狀態碼
Retry-After- Python 解決方案:如何避免 HTTP 錯誤 429 python