HTTP status code 504, ook wel "Gateway Timeout" genoemd, is een serverfoutstatuscode die aangeeft dat de server een aanvraag niet kan verwerken omdat de upstream-server niet heeft gereageerd.
De client kan de 504 Gateway Timeout-statuscode herkennen aan de HTTP-statuscode in de response van de server. De statuscode wordt gevolgd door een lege regel en vervolgens door de headers van de response.
De 504 Gateway Timeout-statuscode kan worden gebruikt voor een breed scala aan redenen, zoals:
Overbelasting van de upstream-server
Uitval van de upstream-server
Voorbeelden
Hier zijn enkele voorbeelden van wanneer een 504 Gateway Timeout-statuscode kan worden gebruikt:
Een server ontvangt een aanvraag van een client, maar kan de aanvraag niet doorsturen naar de origin-server omdat de origin-server overbelast is.
Een server ontvangt een aanvraag van een client, maar kan de aanvraag niet doorsturen naar de origin-server omdat de origin-server uitgevallen is.
Veiligheid
De 504 Gateway Timeout-statuscode is een veilige statuscode. Het kan niet worden gebruikt om schade toe te brengen aan een client-applicatie.
Bijkomende details
De response-headers van een 504 Gateway Timeout-response bevatten vaak een Retry-After-header. Deze header bevat een tijdsduur na welke de aanvraag opnieuw kan worden verzonden.
De 504 Gateway Timeout-statuscode is een belangrijk onderdeel van HTTP. Het maakt het mogelijk voor servers om clients te informeren dat de aanvraag niet kan worden verwerkt omdat de upstream-server niet heeft gereageerd.
Vergelijking met 200 OK
De 504 Gateway Timeout-statuscode is vergelijkbaar met de 200 OK-statuscode. Beide statuscodes geven aan dat de aanvraag is verwerkt. Het belangrijkste verschil is dat de 504 Gateway Timeout-statuscode aangeeft dat de aanvraag is geweigerd omdat de upstream-server niet heeft gereageerd, terwijl de 200 OK-statuscode aangeeft dat de aanvraag is goedgekeurd.
Vergelijking met 400 Bad Request
De 504 Gateway Timeout-statuscode is vergelijkbaar met de 400 Bad Request-statuscode. Beide statuscodes geven aan dat de aanvraag is geweigerd. Het belangrijkste verschil is dat de 504 Gateway Timeout-statuscode aangeeft dat de aanvraag is geweigerd omdat de upstream-server niet heeft gereageerd, terwijl de 400 Bad Request-statuscode aangeeft dat de aanvraag is geweigerd omdat de aanvraag ongeldig is.
Overige informatie
De 504 Gateway Timeout-statuscode wordt vaak gebruikt door webmasters om clients te informeren dat de aanvraag niet kan worden verwerkt omdat de upstream-server niet heeft gereageerd. Deze informatie kan worden gebruikt door de client om te proberen de aanvraag opnieuw te verzenden later, wanneer de upstream-server is hersteld.
Specifieke voorbeelden
Hier zijn enkele specifieke voorbeelden van wanneer een 504 Gateway Timeout-statuscode kan worden gebruikt:
Een client verzendt een aanvraag naar een proxy-server. De proxy-server ontvangt de aanvraag, maar kan de aanvraag niet doorsturen naar de origin-server omdat de origin-server overbelast is. De proxy-server retourneert een 504 Gateway Timeout-response.
Een client verzendt een aanvraag naar een load balancer. De load balancer ontvangt de aanvraag, maar kan de aanvraag niet verdelen over de origin-servers omdat een van de origin-servers uitgevallen is. De load balancer retourneert een 504 Gateway Timeout-response.
In deze voorbeelden is de aanvraag correct geformatteerd, maar kan de aanvraag niet worden verwerkd omdat de upstream-server niet heeft gereageerd. De server retourneert een 504 Gateway Timeout-response om de client te informeren over het probleem.
Terug naar categorie