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, der den Client auffordert, die Anzahl der Anfragen zu reduzieren, wird allgemein als "Rate Limiting" bezeichnet.
Ein Retry-After
-Header kann in dieser Antwort enthalten sein, 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 wirksam sein. Typischerweise basieren Rate-Limiting-Beschränkungen auf der IP-Adresse des Clients, können aber auch spezifisch für Benutzer oder autorisierte Anwendungen sein, wenn Anfragen authentifiziert sind oder ein Cookie enthalten.
Status
429 Too Many Requests
Beispiele
Antwort mit Retry-After-Header
Die folgende Anfrage wird fälschlicherweise in einer Schleife von einem falsch konfigurierten Client gesendet:
GET /reports/mdn HTTP/1.1
Host: example.com
In diesem Beispiel ist 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 sind:
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 |