429

Too Many Requests

Offiziell
Der Server hat zu viele Anfragen erhalten

Spezifikation von dem HTTP statuscode 429

Der Statuscode 429 Too Many Requests zeigt an, dass der Benutzer zu viele Anfragen in einer bestimmten Zeit gesendet hat ("Ratenbegrenzung").

Die Antwortdarstellungen SOLLTEN Details enthalten, die die Bedingung erklären, und KÖNNEN einen Retry-After-Header enthalten, der angibt, wie lange gewartet werden soll, bevor eine neue Anfrage gestellt wird.

Beispiel:

HTTP/1.1 429 Too Many Requests Too Many Requests
Content-Type: text/html
Retry-After: 3600

Beachten Sie, dass diese Spezifikation weder definiert, wie der Ursprungsserver den Benutzer identifiziert, noch wie er die Anfragen zählt. Ein Ursprungsserver, der die Anfrageraten begrenzt, kann dies zum Beispiel auf der Grundlage von Zählungen von Anfragen pro Ressource, auf dem gesamten Server oder sogar auf einer Reihe von Servern tun. Ebenso kann er den Benutzer anhand seiner Authentifizierungsdaten oder eines zustandsabhängigen Cookies identifizieren.

Antworten mit dem Statuscode 429 Too Many Requests DÜRFEN NICHT in einem Cache gespeichert werden.

Quelle / Zitat von: Spezifiziert wird der 429 Too Many Requests HTTP Status Code durch Abschnitt 4 von RFC6585

Wie kann man mit PHP einen 429-Statuscode werfen?

Um auf einer Webseite den HTTP Status Code 429 zu werfen, kann die PHP Funktion http_response_code benutzt werden. Die Syntax sieht wie folgt aus: http_response_code(429) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste den 429 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 429 Too Many Requests) und weitere Informationen clientseitig anzeigen zu können, muss die Entwicklungskonsole mit F12 geöffnet werden. Im Anschluss muss zu der Karteikarte "Netzwerk" navigiert werden. Jetzt kann die Seite geöffnet werden, im Netzwerktab sollte die Webseite (Beispiel index.php) zu sehen sein. Diese muss ausgewählt werden und im Anschluss der Bereich Herder gewählt werden. Hier sieht der Nutzer dann folgendes Ergebnis:

Statuscode 429 Too Many Requests
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=429
Status: 429 Too Many Requests
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 429 Too Many Requests

Wie erstellt man eine eigene Fehlerseite für den Statuscode 429

Eine eigene 429 Too Many Requests Fehlerseite zu erstellen ist sowohl mit dem Webserver "Apache" als auch mit dem Webserver "NGINX", relativ leicht.

Apache Webserver

Der Webserver "Apache" gilt zu den meist verbreitetsten Webservern im Internet. Um einen eigene 429 Too Many Requests Fehlerseite in"Apache" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

File: .htaccess
ErrorDocument 429 /errors/429.html

NGINX Webserver

Ähnlich wie der Webserver "Apache" ist auch "NGINX" im Internet weit verbreitet. Um einen eigene 429 Too Many Requests Fehlerseite in "NGINX" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

File: sites-enabled/default
error_page 429 /429.html;
location = /429.html {
    root /usr/share/nginx/html;
    internal;
}

Browser-Kompatibilität des 429 Statuscode

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Konstanten in Programmiersprachen

HttpStatusCode.TooManyRequests
http.StatusTooManyRequests
Response::HTTP_TOO_MANY_REQUESTS
:too_many_requests

Blog Artikel

SEO und HTTP-Statuscodes: Eine umfassende Analyse

Die Optimierung einer Website für Suchmaschinen (SEO) ist ein komplexes Unterfangen. Einer der oft übersehenen, aber entscheidenden Aspekte für ein gutes Ranking sind HTTP-Statuscodes. Diese kleine...

Schutz vor Angriffen durch die xmlrpc.php Datei in WordPress

Abschnitt 1: Was ist die xmlrpc.php Datei und wo kommt sie vor?Die xmlrpc.php-Datei ist eine wichtige Komponente in WordPress, einem der weltweit führenden Content-Management-Systeme (CMS) für die ...

Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser ist ein begeisterter Webentwickler mit einer Vorliebe für HTTP Statuscodes.

LinkedInGitHub