HTTP 408 : voici comment corriger l’erreur Timeout
Lorsque vous consultez des pages sur le World Wide Web, votre navigateur Internet doit dans un premier temps les charger. Le protocole de base utilisé pour cette transmission, qui s’effectue par défaut via TCP, est le protocole HTTP (Hypertext Transfer Protocol) sans statut, qui définit l’échange de messages initial entre le serveur web et le navigateur. D’après le principe client/serveur classique, le navigateur s’annonce sous la forme d’une requête HTTP à laquelle le serveur réagit en envoyant une réponse comprenant le code de statut.
En tant qu’utilisateur, vous n’avez généralement pas conscience de cette communication entre le navigateur et le serveur, sauf lorsqu’un code d’erreur HTTP apparaît : en effet, si un problème survient lors de cet échange, le navigateur affiche souvent un code de type 4xx ou 5xx qui correspond à différentes sources d’erreur côté client ou serveur. L’erreur HTTP 408 indique par exemple qu’un dépassement de délai est survenu dans la requête du client. Ce guide vous explique comment un tel dépassement de délai peut se produire et comment résoudre ce problème.
Que signifie l’erreur HTTP 408 ?
Comme toutes les erreurs de la série 4xx, l’error code HTTP 408 fait partie des erreurs renvoyant à un problème côté client. Si l’on se penche de plus près sur les raisons de ce message d’erreur, on constate qu’il ne s’agit pas nécessairement d’un fonctionnement erroné du navigateur : l’error 408 est associée à l’information « Request Timeout », qui, en des termes simples, signifie que la requête envoyée par le client au serveur web a pris plus de temps que ce que permet ce serveur. Par conséquent, le navigateur reçoit un message HTTP 408 en lieu et place de la réponse normale. Ceci peut naturellement venir de problèmes avec votre connexion Internet, mais on ne peut pas non plus exclure que le dépassement de délai résulte d’une surcharge ou d’une configuration erronée du serveur web.
Aperçu des causes possibles de l’erreur « 408: Request Timeout »
Même s’il existe plus de 50 codes de statut HTTP, dont plus de la moitié renvoie à des messages d’erreur, les messages ne sont souvent qu’une aide technique permettant la résolution ultérieure du problème. Il en va de même de l’error code 408, qui, au fond, n’indique rien de plus ou de moins que le fait qu’un délai trop important s’est écoulé sans transfert de données dans un intervalle de temps prédéfini après l’établissement d’une connexion TCP/IP. Comme souvent, les causes de ce retard de transmission, et donc de ces messages d’erreur, sont multiples. En voici quelques exemples :
- Problèmes de bande passante et interruptions de la connexion : les messages HTTP 408 sont souvent le résultat de problèmes de connexion Internet. Il est par exemple possible que la bande passante soit si faible qu’elle provoque un échec de la requête HTTP dans l’intervalle de temps défini. On peut d’autre part imaginer que la connexion Internet s’est interrompue brièvement après l’établissement de la connexion TCP/IP avec le serveur, de telle sorte que les données de la requête n’ont pas pu être envoyées ou uniquement de façon partielle.
- Consultation d’URL incorrectes ou inaccessibles : toutes les URL d’un projet web ne sont pas nécessairement accessibles à tous les visiteurs ou accessibles sans cryptage. Aussi, si vous consultez par inadvertance une page pour laquelle vous ne disposez pas d’autorisation ou si vous tentez de consulter une page HTTPS sans avoir SSL/TLS activé, il est tout à fait possible qu’une erreur 408 Timeout se produise. D’autre part, de nombreuses URL appliquent des restrictions concernant les méthodes de requêtes HTTP autorisées (GET, POST, HEAD, PUT, etc.), de telle sorte que le dépassement de délai peut également résulter de l’utilisation d’une méthode erronée. Dans les deux cas, il existe cependant des messages standard renvoyant au type de problème concerné (« 403: Forbidden » pour des tentatives d’accès non autorisées et « 405: Method Not Allowed » pour les méthodes HTTP indisponibles).
- Mauvaise configuration du serveur web : quel que soit le logiciel de serveur web utilisé, l’exploitant du projet web définit dans le fichier de configuration correspondant après combien de secondes une requête HTTP doit être rejetée. Dans ce cadre, il existe des valeurs séparées pour l’en-tête et le corps des messages HTTP. Si le serveur choisit un intervalle de temps trop faible pour le processus de traitement d’une ou des deux composante(s) du paquet, l’erreur 408 côté utilisateur peut tout à fait venir de là.
- Plug-ins, extensions, modules et autres : l’utilisation d’extensions obsolètes ou fonctionnant de façon erronée est un problème qui peut se retrouver aussi bien côté client que côté serveur. Dans ce cas, le dépassement de délai HTTP et l’erreur HTTP 408 peuvent provenir des plug-ins de navigateur utilisés par le visiteur du site Internet ou des modules CMS utilisés par l’exploitant.
HTTP 408 : résolution de l’erreur HTTP Timeout en tant qu’utilisateur d’un navigateur
Lorsque vous êtes confronté à un message d’erreur « 408: Request Timeout » lors de la consultation d’un site Internet, vous souhaitez naturellement trouver une solution aussi rapide que possible à ce problème. Cependant, il ne vous sera pas toujours possible de le résoudre par vous-même. Si l’erreur se trouve exclusivement côté client, vous avez de bonnes chances de pouvoir corriger l’erreur 408 en suivant l’une des approches détaillées ci-après.
Solution 1 : vérifier l’URL
Avant de vous lancer dans une recherche d’erreur plus laborieuse, votre attention doit se porter en premier lieu sur l’URL saisie à travers laquelle vous souhaitez consulter la page ou la ressource web désirée. Dans certaines circonstances, il est en effet possible que vous ayez choisi une URL qui n’est plus accessible. Ceci peut notamment se produire lorsque vous consultez le projet web désiré à l’aide d’un signet placé auparavant. Si le webmaster responsable a modifié les autorisations ou les méthodes de requête autorisées dans l’intervalle ou est passé par exemple au HTTPS, il est fort probable que le lien enregistré ne conduise plus au site souhaité et entraîne une erreur HTTP 408 ou un message d’erreur similaire. Par conséquent, assurez-vous que l’URL saisie est correcte et actuelle afin d’exclure cette source d’erreur.
Solution 2 : vérifier la connexion Internet et redémarrer le routeur
Les problèmes de connexion Internet sont toujours source de stress. Il arrive souvent que la connexion ne fonctionne plus du tout, empêchant ainsi tout accès à Internet. Évidemment, les pannes totales de ce genre ne passent pas inaperçues, mais la plupart du temps, vous ne prêtez pas attention aux fluctuations ou aux interruptions temporaires de votre connexion. Vous attribuez alors à tort l’origine des délais de chargement prolongés et des messages d’erreur survenant dans ce cadre – comme l’erreur 408 – au site Internet consulté. C’est pourquoi il est recommandé de soumettre votre connexion Internet à une vérification rapide en consultant par exemple d’autres sites Internet ou en effectuant un test de débit.
Si vous constatez alors des difficultés techniques avec votre accès à Internet, il est conseillé de procéder à un redémarrage de votre routeur. Si le problème de connexion persiste après ce redémarrage, il est alors pertinent de prendre contact avec votre fournisseur d’accès Internet.
Solution 3 : désactiver les extensions du navigateur
En quelques clics seulement, les fonctionnalités des navigateurs web peuvent être étendues à l’aide de plug-ins, d’add-ons ou d’extensions. Mais bien qu'elles soient pratiques, ces extensions ne fonctionnent pas toujours comme prévu et, dans le pire des cas, nuisent à la navigation et provoquent l’apparition de messages d’erreur comme l’error HTTP 408. Ceci est souvent dû au fait que les extensions sont obsolètes et/ou ne sont plus compatibles avec la version actuelle du navigateur parce que leur développement n’a pas été poursuivi activement. Afin de tester si l’erreur de dépassement de délai repose sur une ou plusieurs extension(s) intégrée(s), désactivez-les complètement, de façon temporaire. Si le problème est corrigé, vous pouvez réactiver les plug-ins les uns après les autres afin de déterminer quelle extension est responsable du message d’erreur HTTP.
Solution 4 : consulter le projet web ultérieurement
L’erreur « 408: Request Timeout » ne peut pas toujours être résolue en utilisant l’une des propositions présentées, notamment lorsqu’elle repose sur des problèmes persistants en lien avec votre connexion Internet. Dans un tel cas, il est conseillé de vous consacrer à une autre activité et de réessayer ultérieurement. Si l’échange HTTP se traduit à nouveau par un échec, l’origine de l’erreur se trouve très probablement du côté du serveur web. Si le webmaster responsable a renseigné ses coordonnées, vous pouvez le contacter pour savoir si le problème est connu et quand la page sera à nouveau disponible.
Résolution de l’erreur HTTP 408 en tant que webmaster
Pour le visiteur, le problème de dépassement de délai HTTP est principalement agaçant parce qu’il empêche d’accéder à la page souhaitée au moment voulu, mais pour le webmaster, le problème prend une tout autre envergure. Lorsqu’une multitude d’utilisateurs accédant au site Internet est confrontée à ce message d’erreur sur une période prolongée, les répercussions se font non seulement sentir au niveau du trafic, mais aussi au niveau de la réputation de l’application web. Elle peut de plus être sanctionnée par les moteurs de recherche, lorsque des erreurs comme l’error HTTP 408 surviennent fréquemment ou lorsque la résolution tarde à arriver. Par conséquent, si vous êtes responsable d’un projet web, il est conseillé de prendre immédiatement des mesures lorsque vous prenez connaissance de problèmes de dépassement de délai.
Solution 1 : Vérifier la configuration du serveur web
Les mauvais réglages sont l’une des principales causes des codes d’erreur HTTP, comme l’error « 408: Request Timeout », côté serveur. Aussi, votre attention doit-elle tout d’abord se porter sur le fichier de configuration correspondant qu’il provienne de Apache (httpd.conf ; apache2.conf), NGINX (nginx.conf) ou un autre logiciel. Dans les paramètres du serveur web Apache, regardez tout particulièrement les directives « KeepAliveTimeout » et « RequestReadTimeout ». Ces deux directives fixent un intervalle de temps pour les requêtes HTTP entrantes dont la valeur peut éventuellement être trop faible (une valeur de 15 ou même 30 secondes est recommandée). Si votre projet web fonctionne sur un serveur NGINX, vous devrez examiner les directives « keepalive_timeout », « client_body_timeout » et « client_header_timeout ». N’oubliez pas d’enregistrer les modifications du fichier de configuration correspondant avant de redémarrer le serveur web afin de corriger définitivement le problème HTTP 408.
Solution 2 : Examiner les fichiers journaux du serveur et modifier les pages problématiques
Comme nous l’avons vu plus haut, l’error HTTP 408 se produit uniquement sur une page ou des pages isolées d’un projet web, car ces pages présentent des erreurs de configuration concernant les droits d’accès et les méthodes HTTP autorisées. Par conséquent, si vous prenez connaissance d’un problème de dépassement de délai, il est recommandé de vérifier quelle(s) URL provoque(nt) l’erreur HTTP. Pour ne pas avoir à consulter chaque page manuellement, jetez simplement un œil au journal d’erreurs de votre serveur web dans lequel toutes les erreurs HTTP sont automatiquement archivées. Si vous avez repéré des pages problématiques, vous pouvez à tout moment rechercher les causes du dépassement de délai de façon ciblée et, le cas échéant, procéder à une modification des droits et des méthodes d’accès.
En règle générale, vous pouvez également consulter les journaux d’erreurs du serveur web utilisé lorsque votre projet est hébergé auprès d’un fournisseur d’hébergement. Pour ce faire, connectez-vous à votre compte client qui doit normalement comporter une rubrique avec des statistiques sur le serveur et des journaux de serveur consultables et téléchargeables. Si vous ne parvenez pas à trouver le point de menu correspondant par vous-même, la FAQ ou les coordonnées de l’équipe de service après-vente du prestataire pourront vous aider.
Solution 3 : Désactiver les modules, modèles et plug-ins obsolètes et erronés dans le CMS
Les systèmes de gestion de contenu (« Content Management Systems »), qui constituent la base des projets web, sont fortement demandés. Un avantage non négligeable de ces plateformes réside dans leur capacité à être étendue avec des modules, des modèles et des plug-ins permettant des fonctionnalités, des mises en page et des designs supplémentaires. À l’instar de leurs équivalents côté client, ces extensions peuvent également entraîner une erreur 408 Request Timeout. Dans la multitude de modules complémentaires et de plug-ins disponibles, vous trouverez toujours des éléments qui vous promettent une énorme valeur ajoutée pour votre projet, mais qui, au final, ne fonctionneront pas comme vous le souhaitiez ou ne seront plus développés à partir d’un certain moment. Ceci s’applique en particulier aux extensions de prestataires tiers avec lesquels des problèmes peuvent survenir à chaque nouvelle version du CMS. La solution la plus simple consiste à désactiver les plug-ins (et si nécessaire, les modules) correspondants.
Même si tous les modules et plug-ins fonctionnent de façon irréprochable, les extensions peuvent tout de même entraîner des erreurs HTTP 408 : en effet, si vous utilisez un trop grand nombre d’extensions dans votre CMS, cela peut impacter la performance de votre projet web. Afin d’empêcher qu’un scénario de ce type ne se produise, veillez à désactiver à temps les fonctionnalités et les éléments de design complémentaires n’étant pas ou plus nécessaires.
Solution 4 : Vérifier et réparer le code
Il est bien sûr possible que l’erreur ne soit pas due à une source externe et se cache dans le code généré par vos soins. Si vous rencontrez un code d’erreur 408 et si vous n’avez pas trouvé de solution en inspectant les fichiers de configuration du serveur web ou en vérifiant le système de gestion des contenus, il est conseillé de jeter un œil à la structure HTML ainsi qu’aux snippets CSS et aux scripts (JavaScript, PHP, etc.). Si vous ne parvenez pas à corriger le problème de dépassement de délai à l’aide de ces méthodes, n’hésitez pas à effectuer un processus de débogage complet à l’aide d’un logiciel adéquat. Vous pourrez ainsi localiser et réparer les portions de code erronées de façon efficace.
Solution 5 : Augmenter les ressources du serveur
Plus le nombre de requêtes HTTP atteignant le serveur web est important, plus grandes seront les ressources nécessaires au traitement. Si la puissance de calcul disponible n’est pas suffisante pour gérer le trafic entrant, les messages d’erreur comme « 408: Request Timeout » ne seront pas une exception. Si votre budget le permet, vous devriez alors considérer une augmentation de la performance du processeur et de la mémoire vive.
Si la performance de votre serveur est mauvaise alors que vous disposez d’un matériel suffisant, ceci peut indiquer des problèmes techniques de votre hébergeur. Dans ce cas, vous ne parviendrez pas à corriger une erreur HTTP 408 en augmentant la performance de votre matériel. Votre seule option consistera à contacter directement votre hébergeur afin d’obtenir des informations détaillées sur la situation et des instructions pour procéder à une éventuelle correction de l’erreur.