504 – Gateway Timeout

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
Een ogenblik geduld...