On à tous déjà été confronté en tant qu’utilisateur web aux erreurs 404, 500… Il s’agit de codes HTTP. Nous allons dans cet article voir les plus courants dans la création de site web. 404, 500 301, des codes hyper récurrents expliquées ici mais il en existe d’autre ! Voyons les en détail.
- Qu’est-ce qu’un code HTTP ?
- Les codes de réponses des pages Web
- Code de réponse 200
- Redirection 301
- Redirection 302
- Redirection 307
- Redirection 308
- Boucle de redirections 310
- Code 401
- Code 403
- Erreur 404
- Code de réponse 418
- Réponse serveur 500
- Code 502 (Serveur)
- Renvoi de 503 (indisponibilité)
- Code 504 (temps d’attente)
Commençons par la classifications des codes HTTP :
Les codes HTTP : qu’est ce que c’est? Définitions
Les codes HTTP (aussi appelé code de statut), permettent de définir le résultat d’une requête, ou indiquer au client une erreur. Ces codes sont divisés en 5 grandes familles :
- 100 – 199 : Retourne une information, c’est une réponse provisoire.
- 200 – 299 : Succès de la requête
- 300 – 399 : Codes liés à la redirection.
- 400 – 499 : Erreur dans la requête.
- 500 – 599 : Erreur serveur, il n’a pas pu traiter la requête.
Certains codes n’affichent rien de particulier pour l’utilisateur, c’est souvent le cas pour les erreurs 100 à 399. En matière de Web, il en existe de nombreux que vous pouvez rencontrer comme codes de réponse.
Quels sont les codes HTTP les plus fréquents quand on est webmaster?
Lorsque l’on produit du Web, et particulièrement lorsque l’on s’intéresse à la vie du site (comme référenceur ou webmaster consciencieux), on observe différents codes de réponse. Voici les plus courants.
- Code 200 : Page traité avec succès
C’est le code que vous utilisez le plus souvent sans même vous en rendre compte car il n’est pas visible. Il signifie que la page internet est bien chargé.
- Code 301 : Déplacement définitif
La ressource demandée n’est plus disponible à cette adresse. Vous êtes donc redirigé vers la nouvelle ; la 301 fait partie intégrante de la vie d’un site Internet et on l’utilise à défaut dans le fichier .htaccess :
[pastacode lang=”markup” manual=”Redirect%20301%20%2Fancien-uri%2F%20https%3A%2F%2Fwww.monnomdedomaine.fr%2Fnouvelle-uri%2F” message=”La redirection 301 à placer dans le .htaccess” highlight=”” provider=”manual”/]C’est donc le code renvoyé par le serveur quand on a créé une redirection (très utilisé lors du passage http vers https d’un site par exemple).
On l’utilise très souvent en référencement SEO lors de la refonte d’un site, car elle permet de dire aux moteurs de recherche que c’est la même page, mais qu’elle à juste changé d’adresse. Ça permet de garder la même ancienneté de page, le même TrustRank, et donc d’impacter que très peu le référencement.
- Code 302 : Déplacement temporaire
Permet de créer une redirection temporaire, ce qui veux dire pas de mise à jour d’index, pas de transfert de PageRank.
Cette redirection est à éviter dans le référencement SEO. Un très bon article de Virginie Clève sur l’utilisation de la redirection 302 dans le référencement est disponible à cette adresse. Fondamentalement, on est tenté naturellement de proscrire son usage dans le référencement naturel mais il arrive que…
- Code 307 : Redirection temporaire ; un usage méconnu mais utile !
On pourrait se demander quelle est la différence entre le code 302 et le code 307, ils font tous les deux une redirection temporaire. La différence se fait dans l’envoie de la requête.
Prenons un exemple. Un utilisateur envoi un formulaire en POST.
Dans le cas du code 302 :
- Le client fait sa requête POST et envoie son formulaire.
- Le serveur renvoie la nouvelle adresse au au client.
- Le client effectue une nouvelle requête mais en GET vers la nouvelle adresse, toutes les informations du formulaire sont donc perdues.
Dans le cas du code 307, le client effectue deux fois la même requête, les données du formulaire sont donc conservés.
- Code 308 : Redirection permanente
Cette redirection est la même que la 307, mais la redirection est définitive comme la 301.
- Code 310 : Trop de redirections
La requête est redirigée de trop nombreuses fois, ou est dans une boucle de redirections.
- Code 401 : Accès non autorisé
Vous ne pouvez pas accéder à l’adresse demandée. Cette erreur peux arriver si vous n’êtes pas identifié ou si vous avez échoué à l’identification.
Cette demande d’identification peut par exemple avoir été ajouté dans le fichier .htaccess.
- Le code 403 : Interdit… non non
Interdiction d’accéder à ce répertoire. C’est une interdiction de la part du serveur et non un problème d’identification.
Le blocage peux être réglé depuis le .htaccess ou dans la gestion des permissions des fichiers, les fameux “chmods”.
- Le code 404 : L’erreur ! Non trouvé !
Le document est introuvable. Probablement l’erreur que l’on rencontre le plus et qui généralement empêche l’utilisateur d’aller plus loin.
En tant que Webmaster, prenez le temps de les étudier avec un outil comme Screaming Frog, ou grâce au plugin Broken Link Checker. Il faut alors créer une redirection pour palier à ce problème et ne pas laisser l’utilisateur sur une page vide. Un vrai jeu consiste également à rendre ces pages particulièrement agréables ou fun.
Mais ce qui peut être très intéressant, c’est de proposer des sorties de secours, très utiles du point de vue de l’expérience utilisateur, comme la mise en place d’un champs de recherche. Mettons-nous dans nos petits souliers dans tous les cas 🙂 et effectuons très rapidement une redirection 301 !
- Le code 418 : Je suis une théière
L’erreur 418 est en fait un easter egg dans les standards. L’erreur n’est pas implantée, mais certains sites comme Google ont quand même créé la page.
Sur les questions de 404 et 410, Matt Cutts avait réalisé une viédo différenciant les deux usages :
- Code 500 : Erreur interne du serveur
Message générique sans précision, le serveur a rencontré un problème et n’a pas pu exécuter la requête.
L’erreur peut être due à une erreur de syntaxe dans le .htaccess ou une erreur de script.
L’utilisateur ne peut rien faire face à une erreur 500.
- Code 502 : Mauvaise passerelle
Cette erreur apparaît quand un serveur envoie une requête à un autre serveur et qu’il a reçu une mauvaise réponse.
Souvent causé par un par un problème de réseau entre serveurs.
- Code 503 : Service indisponible
Cette erreur apparaît en cas de quota dépassé de la formule de l’hébergement, ou de maintenance du serveur.
Il n’y a rien à faire face à une erreur 503 pour l’utilisateur.
- Code 504 : Temps d’attente expiré
Le serveur met trop de temps pour répondre. La cause peut être due à une surcharge du serveur (exemple attaque DDoS).
L’utilisateur peux également avoir cette erreur s’il utilise un proxy.
Et Vous, connaissiez-vous tous ces codes ?
Clair et net. Je cherchais si le code 418 existait bien, maintenant je sais que ce n’est pas une légende.
Et le reste est très bien expliqué.
Tim.