504
Gateway Timeout
Explication générale du code d'état 504
L'erreur HTTP 504 Gateway Timeout se produit lorsqu'un serveur tente de répondre à une requête d'un client, mais n'est pas en mesure de le faire dans un délai raisonnable. Cette erreur est généralement appelée "Gateway Timeout", car elle se produit souvent lorsqu'un serveur proxy ou une passerelle servant d'intermédiaire entre le client et le serveur n'est pas en mesure d'établir une connexion ou de recevoir une réponse du serveur. Cela peut être dû à différentes raisons, comme la surcharge du serveur, des problèmes de réseau ou une configuration insuffisante du proxy ou de la passerelle.
Spécification du code d'état HTTP 504
Source / Citation de : Le code d'état HTTP 504 Gateway Timeout est spécifié par la section 6.6.5 de RFC7231.
Protocole HTTP
Comment lancer un code d'état 504 avec PHP ?
Pour lancer le code d'état HTTP 504 sur une page web, on peut utiliser la fonction PHP http_response_code. La syntaxe est la suivante : http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Teste le code d'état HTTP 504
Pour pouvoir afficher le code de statut HTTP (dans ce cas 504 Gateway Timeout) et d'autres informations côté client, il faut ouvrir la console de développement avec F12. Ensuite, il faut naviguer vers l'onglet "Réseau". La page peut maintenant être ouverte, la page web (exemple index.php) doit être visible dans l'onglet réseau. Il faut la sélectionner et choisir ensuite le domaine Herder. L'utilisateur voit alors le résultat suivant :
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Statut: 504 Gateway Timeout
Ceux-ci: Network
Adresse IP: XX.XX.XX.XX
Comment résoudre le problème du code d'état 504 ?
Il y a plusieurs raisons possibles pour lesquelles une erreur HTTP 504 Gateway Timeout "Gateway Timeout" peut se produire, comme par exemple:
- Surcharge du serveur : si un serveur reçoit trop de requêtes et n'est pas en mesure d'y répondre dans un délai raisonnable, une erreur de timeout peut se produire. Cela peut être résolu en redimensionnant le serveur ou en ajoutant des ressources telles que le CPU, la RAM ou la mémoire.
- Problèmes de réseau : une erreur de timeout peut également se produire s'il y a des problèmes de connexion réseau entre le client et le serveur. Cela peut être résolu en vérifiant la connexion réseau, en contrôlant les configurations du routeur ou du pare-feu ou en redémarrant les composants du réseau.
- Problèmes avec les proxies ou les passerelles : une passerelle ou un proxy qui sert d'intermédiaire entre le client et le serveur peut également provoquer une erreur de timeout. Cela peut être corrigé en vérifiant et en ajustant les paramètres du proxy ou de la passerelle.
- Application ou base de données lente : si une application ou une base de données fonctionne lentement, cela peut également entraîner une erreur de timeout. Cela peut être corrigé en optimisant l'application ou la base de données.
Pour résoudre le problème, les mesures suivantes peuvent être prises :
- Vérifier l'état du serveur et s'assurer qu'il n'est pas surchargé.
- Vérifier la connexion réseau et s'assurer qu'elle est stable et fiable.
- Vérifiez la configuration des proxies ou des passerelles et ajustez-la si nécessaire.
- Optimisez l'application ou la base de données pour améliorer ses performances.
- Redémarrer les composants réseau ou les serveurs peut également aider à résoudre le problème.
Dans de nombreux cas, une combinaison de ces mesures peut résoudre le problème.
Comment créer une page d'erreur personnalisée pour le code d'état 504 ?
Apache Webserver
Le serveur web "Apache" est l'un des serveurs web les plus répandus sur Internet. Pour créer sa propre page d'erreur 504 Gateway Timeout dans "Apache", il faut effectuer la modification suivante dans le fichier suivant.
NGINX Webserver
Tout comme le serveur web "Apache", "NGINX" est également très répandu sur Internet. Pour créer sa propre page d'erreur 504 Gateway Timeout dans "NGINX", il faut effectuer la modification suivante dans le fichier suivant.
location = /504.html {
root /usr/share/nginx/html;
internal;
}
Compatibilité du navigateur avec le code d'état 504
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 |
Les constantes dans les langages de programmation
HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout