← Tous les outils

Codes de statut HTTP expliqués

Un guide clair des codes de statut HTTP et de leur signification : 200, 301, 404, 500 et plus, ainsi que les cinq classes et des conseils pour le SEO et le débogage.

Les codes de statut HTTP expliqués, de 200 à 503

Chaque fois que votre navigateur demande quelque chose à un serveur web, le serveur répond par un nombre à trois chiffres avant de renvoyer le moindre HTML, image ou JSON. Ce nombre est le code de statut HTTP, et c'est la façon brève qu'a le serveur de dire ce qui s'est passé : la page est là, elle a été déplacée, vous n'êtes pas autorisé à entrer, ou quelque chose a cassé de notre côté. La plupart du temps, vous ne voyez jamais ces codes parce que tout fonctionne et que la page se charge simplement. Mais à l'instant où un site se comporte mal, le code de statut est le premier indice à lire.

Les nombres ne sont pas aléatoires. Le premier chiffre range chaque réponse dans l'une des cinq familles, de sorte que même un code inconnu vous indique grosso modo ce qui a mal tourné, rien qu'à son chiffre de tête. Apprenez les cinq familles et vous pourrez lire presque n'importe quelle réponse d'un coup d'œil.

Visualisation abstraite de requêtes et réponses web avec des voyants de statut lumineux verts, ambre et rouges
Chaque requête reçoit une seule réponse : vert pour le succès, ambre pour la redirection ou l'attente, rouge pour l'erreur.

Les cinq classes

1xx informationnel. Le serveur a reçu votre requête et travaille encore dessus. Ces codes sont rares en navigation quotidienne et généralement traités en silence entre le navigateur et le serveur. 100 Continue en est l'exemple classique, indiquant à un client qu'il peut envoyer le reste d'un gros corps de requête.

2xx succès. La requête a fonctionné. 200 OK est celui qu'on veut voir toute la journée, signifiant que la ressource a été trouvée et est en chemin. 201 Created apparaît après l'envoi d'un formulaire ou d'un appel d'API qui crée quelque chose de nouveau, et 204 No Content signifie que l'action a réussi mais qu'il n'y a rien à afficher.

3xx redirection. Ce que vous avez demandé se trouve ailleurs, et le navigateur suit généralement automatiquement. Les redirections maintiennent les anciens liens en vie et comptent énormément pour le classement dans les moteurs de recherche.

4xx erreur client. Quelque chose dans la requête était incorrect de votre côté : une mauvaise URL, une connexion manquante, ou une ressource qui n'existe pas. Le serveur est en bonne santé ; il ne peut simplement pas accepter ce que vous avez envoyé.

5xx erreur serveur. Votre requête était correcte, mais le serveur a trébuché en la traitant. Ces codes pointent vers l'infrastructure du site, pas vers vous.

Les codes précis que les gens recherchent vraiment

200 OK est un succès simple. La page ou les données se sont chargées comme prévu.

301 Moved Permanently indique aux navigateurs et aux moteurs de recherche qu'une page a un nouveau domicile permanent. C'est la redirection favorable au référencement, car elle transmet les signaux de classement de l'ancienne URL à la nouvelle. Utilisez-la quand vous changez une URL pour de bon.

302 Found est une redirection temporaire. L'URL d'origine reste la véritable, donc les moteurs de recherche continuent de l'indexer plutôt que la destination. Ne recourez à 302 que lorsque le déplacement est réellement éphémère, comme pour rediriger les utilisateurs vers une page d'accueil saisonnière.

304 Not Modified est un héros discret de la navigation rapide. Il indique au navigateur que la copie déjà présente dans son cache est toujours d'actualité, le serveur évite donc de renvoyer le fichier. Moins de données, des pages plus rapides.

400 Bad Request signifie que le serveur n'a même pas pu comprendre la requête, souvent à cause d'une syntaxe malformée ou d'un paramètre invalide.

401 Unauthorized se traduit grosso modo par « je ne sais pas qui vous êtes, veuillez vous authentifier. » Il vous manque des identifiants valides.

403 Forbidden est différent : le serveur sait qui vous êtes et refuse tout de même. Vous n'avez pas la permission, et vous reconnecter n'aidera pas.

404 Not Found est le code le plus célèbre de tous. Le serveur est en vie et vous a répondu, mais il n'y a rien à cette adresse. Cela provient généralement d'un lien mal tapé ou d'une page supprimée ou déplacée sans redirection.

429 Too Many Requests signifie que vous avez atteint une limite de débit. Vous avez envoyé trop de requêtes dans un laps de temps trop court, et le serveur vous demande de ralentir. Les API l'utilisent en permanence.

500 Internal Server Error est la réponse générique « quelque chose a cassé ». Le serveur a rencontré une condition inattendue et a abandonné, mais sans préciser quoi. Vérifiez les logs du serveur.

502 Bad Gateway apparaît lorsqu'un serveur, agissant comme passerelle ou proxy, reçoit une réponse invalide d'un serveur en amont derrière lui. Souvent le signe qu'une application dorsale a planté ou est injoignable.

503 Service Unavailable signifie que le serveur est temporairement surchargé ou en maintenance. Contrairement à 500, il implique que le problème est de courte durée et que le site devrait revenir bientôt.

Un serveur envoyant des sphères de statut lumineuses le long d'un chemin de données représentant les réponses HTTP
De la requête à la réponse : le serveur étiquette chaque réponse d'un code avant que le moindre contenu ne quitte le bâtiment.

Ce que les codes de statut signifient pour le référencement et le débogage

Pour le classement dans les moteurs de recherche, la distinction entre 301 et 302 est celle qui piège les gens. Un déplacement permanent devrait toujours utiliser 301 afin que la nouvelle page hérite de l'autorité de l'ancienne ; un 302 au mauvais endroit peut laisser les moteurs de recherche indexer l'URL d'origine et disperser vos signaux. Par ailleurs, un grand nombre de 404 gaspille le budget d'exploration et frustre les visiteurs, il vaut donc la peine de rediriger ou de corriger les liens cassés plutôt que de les laisser pourrir.

Pour le débogage, la famille vous indique où chercher. Un 4xx pointe vers la requête, vérifiez donc l'URL, les en-têtes et les identifiants. Un 5xx pointe vers le serveur, vérifiez donc les logs de l'application, les services en amont, et si un déploiement vient de mal tourner. Une vague de 502 et 503 signifie souvent qu'une application dorsale est hors service ou surchargée plutôt qu'un bug de code. Vous pouvez inspecter le statut exact que renvoie un site avec nos outils pour développeurs, et quand un 5xx ressemble à un problème de connectivité plutôt qu'à une faute applicative, une rapide recherche DNS peut confirmer que le domaine se résout toujours vers la bonne adresse.

Questions fréquentes

Une erreur 404 est-elle mauvaise pour mon site web ?

Quelques 404 sont normales et inoffensives. Les problèmes commencent quand des pages populaires renvoient un 404 ou quand les liens internes cassés s'accumulent, gaspillant le budget d'exploration et frustrant les visiteurs. Redirigez les pages déplacées et corrigez les mauvais liens.

Quelle est la différence entre une redirection 301 et une redirection 302 ?

Une 301 est permanente et transmet les signaux de classement à la nouvelle URL, utilisez-la donc quand une page se déplace pour de bon. Une 302 est temporaire et garde l'URL d'origine indexée, ne l'utilisez donc que pour des déplacements de courte durée.

Quelle est la différence entre 401 et 403 ?

Un 401 signifie que vous ne vous êtes pas authentifié, se connecter peut donc le corriger. Un 403 signifie que le serveur vous reconnaît mais refuse tout de même l'accès parce que vous n'avez pas la permission, se reconnecter n'aidera donc pas.

Que signifie une erreur 500 et comment la corriger ?

Une erreur 500 Internal Server Error signifie que le serveur a rencontré une faute inattendue en traitant votre requête. Le message est volontairement générique, la correction commence donc généralement par la lecture des logs du serveur pour trouver la vraie cause.

Pourquoi est-ce que je reçois un code de statut 429 ?

Un 429 Too Many Requests signifie que vous avez atteint une limite de débit pour avoir envoyé des requêtes trop rapidement. Ralentissez, respectez tout en-tête Retry-After que le serveur renvoie, et ajoutez un délai progressif aux scripts et aux clients d'API.

Que signifie 503 Service Unavailable ?

Un 503 signifie que le serveur est temporairement incapable de traiter la requête, généralement à cause d'une surcharge ou d'une maintenance programmée. Il signale un problème de courte durée, le site devrait donc se rétablir de lui-même sous peu.