504
Gateway Timeout
Algemene uitleg van de 504-statuscode
De HTTP-fout 504 Gateway Timeout treedt op wanneer een server een verzoek van een cliënt probeert te beantwoorden, maar daar niet in slaagt binnen een redelijke tijd. Deze fout wordt meestal een "gateway timeout" genoemd, omdat hij vaak optreedt wanneer een proxyserver of gateway die tussen de client en de server bemiddelt, geen verbinding kan maken of geen antwoord van de server kan ontvangen. Dit kan verschillende redenen hebben, zoals overbelasting van de server, netwerkproblemen of onvoldoende configuratie van de proxy of gateway.
.Specificatie van de HTTP-statuscode 504
Bron / Citaat van: De 504 Gateway Timeout HTTP-statuscode wordt gespecificeerd door sectie 6.6.5 van RFC7231.
HTTP-protocol
Hoe gooi je een 504-statuscode met PHP?
Om de HTTP-statuscode 504 op een webpagina te gooien, kan de PHP-functie http_response_code worden gebruikt. De syntaxis is als volgt: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Test de HTTP-statuscode 504
Om de HTTP-statuscode (in dit geval 504 Gateway Timeout) en andere informatie aan de clientzijde te kunnen weergeven, moet de ontwikkelconsole worden geopend met F12. Navigeer vervolgens naar het tabblad "Netwerk". Nu kan de pagina worden geopend, de website (voorbeeld index.php) moet zichtbaar zijn in het netwerk tabblad. Deze moet worden geselecteerd en vervolgens moet het onderdeel Herder worden geselecteerd. De gebruiker ziet dan het volgende resultaat:
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Status: 504 Gateway Timeout
Die: Network
IP-adres: XX.XX.XX.XX
Hoe los ik het probleem met de 504-statuscode op?
Er zijn verschillende mogelijke redenen waarom een HTTP-fout 504 Gateway Timeout "Gateway Timeout" kan optreden, zoals:
- Overbelasting van de server: Als een server te veel verzoeken ontvangt en deze niet binnen een redelijke tijd kan beantwoorden, kan een time-outfout optreden. Dit kan worden opgelost door de server te schalen of middelen toe te voegen zoals CPU, RAM of opslag.
- Netwerkproblemen: Een time-outfout kan ook optreden als er problemen zijn met de netwerkverbinding tussen de client en de server. Dit kan worden opgelost door de netwerkverbinding te controleren, router- of firewallconfiguraties te controleren of netwerkcomponenten opnieuw op te starten.
- Proxy- of gatewayproblemen: Een gateway of proxy die bemiddelt tussen de client en de server kan ook een time-outfout veroorzaken. Dit kan worden opgelost door de proxy of gateway instellingen te controleren en aan te passen.
- Slow applicatie of database: Als een applicatie of database traag draait, kan dit ook leiden tot een time-out fout. Dit kan worden verholpen door de applicatie of database te optimaliseren.
Om het probleem op te lossen, kunnen de volgende maatregelen worden genomen:
- Controleer de serverstatus en zorg ervoor dat deze niet overbelast is.
- Controleer de netwerkverbinding en zorg ervoor dat deze stabiel en betrouwbaar is.
- Controleer de configuratie van proxies of gateways en pas deze zo nodig aan.
- Optimaliseer de applicatie of database om de prestaties ervan te verbeteren.
- Herstarten van netwerkcomponenten of servers kan ook helpen om het probleem te verhelpen.
In veel gevallen kan een combinatie van deze maatregelen het probleem oplossen.
Hoe maak je je eigen foutpagina voor de statuscode 504?
Apache Webserver
De webserver "Apache" is een van de meest gebruikte webservers op het internet. Om uw eigen 504 Gateway Timeout-foutpagina in "Apache" te maken, moet de volgende wijziging worden aangebracht in het volgende bestand.
NGINX Webserver
Net als de webserver "Apache" wordt ook "NGINX" veel gebruikt op het internet. Om uw eigen 504 Gateway Timeout-foutpagina in "NGINX" te maken, moet de volgende wijziging worden aangebracht in het volgende bestand.
location = /504.html {
root /usr/share/nginx/html;
internal;
}
Browsercompatibiliteit van de 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 |
Constanten in programmeertalen
HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout