504
Gateway Timeout
Allgemeine Erklärung des 504-Statuscodes
Der HTTP-Fehler 504 Gateway Timeout tritt auf, wenn ein Server versucht, eine Anfrage von einem Client zu beantworten, aber nicht in der Lage ist, dies innerhalb einer angemessenen Zeitspanne zu tun. Dieser Fehler wird normalerweise als "Gateway Timeout" bezeichnet, da er oft auftritt, wenn ein Proxy-Server oder ein Gateway, der zwischen dem Client und dem Server vermittelt, nicht in der Lage ist, eine Verbindung herzustellen oder eine Antwort vom Server zu erhalten. Dies kann verschiedene Gründe haben, wie z.B. Überlastung des Servers, Netzwerkprobleme oder unzureichende Konfiguration des Proxies oder Gateways.
Spezifikation von dem HTTP statuscode 504
Quelle / Zitat von: Spezifiziert wird der 504 Gateway Timeout HTTP Status Code durch Abschnitt 6.6.5 von RFC7231
HTTP-Protokoll
Wie kann man mit PHP einen 504-Statuscode werfen?
Um auf einer Webseite den HTTP Status Code 504 zu werfen, kann die PHP Funktion http_response_code benutzt werden. Die Syntax sieht wie folgt aus: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Teste den 504 HTTP Status Code
Um die HTTP Status Code (in diesem Fall 504 Gateway Timeout) 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:
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Status: 504 Gateway Timeout
Diese: Network
IP-Adresse: XX.XX.XX.XX
Wie löse ich das Problem mit dem 504 Statuscode?
Es gibt verschiedene mögliche Gründe, warum ein HTTP-Fehler 504 Gateway Timeout "Gateway Timeout" auftreten kann, wie z.B.:
- Serverüberlastung: Wenn ein Server zu viele Anfragen erhält und nicht in der Lage ist, sie innerhalb einer angemessenen Zeit zu beantworten, kann ein Timeout-Fehler auftreten. Dies kann durch Skalierung des Servers oder durch Hinzufügen von Ressourcen wie CPU, RAM oder Speicher behoben werden.
- Netzwerkprobleme: Ein Timeout-Fehler kann auch auftreten, wenn es Probleme mit der Netzwerkverbindung zwischen dem Client und dem Server gibt. Dies kann durch Überprüfen der Netzwerkverbindung, Überprüfen von Router- oder Firewall-Konfigurationen oder Neustarten von Netzwerkkomponenten behoben werden.
- Probleme mit Proxies oder Gateways: Ein Gateway oder Proxy, der zwischen dem Client und dem Server vermittelt, kann ebenfalls zu einem Timeout-Fehler führen. Dies kann durch Überprüfen und Anpassen der Proxy- oder Gateway-Einstellungen behoben werden.
- Langsame Anwendung oder Datenbank: Wenn eine Anwendung oder Datenbank langsam läuft, kann dies auch zu einem Timeout-Fehler führen. Dies kann durch Optimierung der Anwendung oder der Datenbank behoben werden.
Um das Problem zu lösen, können folgende Maßnahmen ergriffen werden:
- Überprüfen Sie den Serverstatus und stellen Sie sicher, dass er nicht überlastet ist.
- Überprüfen Sie die Netzwerkverbindung und stellen Sie sicher, dass sie stabil und zuverlässig ist.
- Überprüfen Sie die Konfiguration von Proxies oder Gateways und passen Sie sie bei Bedarf an.
- Optimieren Sie die Anwendung oder Datenbank, um ihre Leistung zu verbessern.
- Neustarten von Netzwerkkomponenten oder Servern kann auch helfen, das Problem zu beheben.
In vielen Fällen kann das Problem durch eine Kombination dieser Maßnahmen behoben werden.
Wie erstellt man eine eigene Fehlerseite für den Statuscode 504
Apache Webserver
Der Webserver "Apache" gilt zu den meist verbreitetsten Webservern im Internet. Um einen eigene 504 Gateway Timeout Fehlerseite in"Apache" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.
NGINX Webserver
Ähnlich wie der Webserver "Apache" ist auch "NGINX" im Internet weit verbreitet. Um einen eigene 504 Gateway Timeout Fehlerseite in "NGINX" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.
location = /504.html {
root /usr/share/nginx/html;
internal;
}
Browser-Kompatibilität des 504 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.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout