429 Too Many Requests
Der HTTP-Statuscode 429 Too Many Requests
Client-Fehlerantwort zeigt an, dass der Client zu viele Anfragen in einem bestimmten Zeitraum gesendet hat.
Dieser Mechanismus, bei dem der Client gebeten wird, die Anfragerate zu verlangsamen, wird üblicherweise als "Rate-Limiting" bezeichnet.
Ein Retry-After
-Header kann in diese Antwort aufgenommen werden, um anzugeben, wie lange der Client warten soll, bevor er die Anfrage erneut stellt.
Implementierungen von Rate-Limiting variieren; Beschränkungen können serverweit oder pro Ressource gelten. Typischerweise basieren Rate-Limiting-Beschränkungen auf der IP des Clients, können jedoch spezifisch für Benutzer oder autorisierte Anwendungen sein, wenn Anfragen authentifiziert oder Cookies enthalten.
Status
429 Too Many Requests
Beispiele
Antwort mit Retry-After-Header
Die folgende Anfrage wird von einem falsch konfigurierten Client wiederholt in einer Schleife gesendet:
GET /reports/mdn HTTP/1.1
Host: example.com
In diesem Beispiel ist ein serverweites Rate-Limiting aktiv, wenn ein Client einen festgelegten Schwellenwert von Anfragen pro Minute überschreitet.
Eine 429-Antwort wird mit einem Retry-After
-Header zurückgegeben, der anzeigt, dass Anfragen für diesen Client in 60 Minuten wieder erlaubt sein werden:
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>
Spezifikationen
Specification |
---|
RFC 6585 # section-4 |