Partage
Partager via Facebook
Partager via Messenger
Partager via Twitter
Partager via LinkedIn
Partager via What'sapp
Partager via courriel
PDF
HTTP : les principaux codes de statut, et ce qu'ils veulent dire
404, 301... Ces numéros correspondent à de célèbres codes d'état du protocole HTTP. Voici la liste de ces principaux codes, et leur signification. Pourquoi parle-t-on de "404" ou de "301" dans le web ? Ces chiffres correspondent en fait à des codes de statut, ou d'état, du fameux protocole HTTP, qui permet à un serveur web de transmettre des informations et des pages à un client ou un navigateur web.
S'ils ont été pensés pour indiquer un état ou un statut, ces codes à trois chiffres sont souvent connus parce qu'ils sont souvent renvoyés lorsqu'un problème est rencontré. La fréquente erreur "404" signifie ainsi que "la page demandée n'existe pas".
Une redirection permanente est "une 301", un code qui veut dire que les ressources demandées se trouvent à une nouvelle adresse. Ce sont sans doute les deux codes les plus visibles. Le code 200 est toutefois en réalité le plus utilisé, même si l'internaute ne le voit pas, car il indique que tout va bien, et que la requête a été correctement traitée, sans problème, et sans besoin de précision supplémentaire.
Cinq grandes familles
Ces codes ont été divisés en cinq grandes familles. Les codes qui commencent par un "1" indique une réponse provisoire, ceux qui comment par un "2 " que la requête a été traitée avec succès, par un "3" qu'une action supplémentaire doit être réalisée par le client (l'utilisateur, son navigateur ou un user-agent ).
Si l'erreur commence par un "4", c'est un problème qui vient du client (navigateur/utilisateur). En revanche, si le code commence par un "5" c'est le site web qui est responsable, et son équipe technique devra souvent y jeter un coup d'œil...
Ces codes de statut ont été standardisés. Ils sont consultables sur le site du W3C, le consortium qui les a déterminés, au sein de la RFC 2616. Cette dernière est plus précisément une mise à jour de la RFC 2068, qui contient les spécifications de la dernière version du protocole HTTP (HTTP/1.1). Nous n'avons retenu que les codes les plus utilisés.
Article Virgile Juhan pour le JDN
Code | Message officiel, selon la RFC 2616 (avec notre traduction) | Explications (résumé tiré de la RFC 2616) |
---|---|---|
Source : JDN (base RFC 2616/W3C) | ||
Codes commençant par 1 | Information | Indique une réponse provisoire. |
100 | Continue ("Continue") | Le client doit continuer avec sa requête. |
101 | Switching Protocols ("Changement de protocole") | Changement de protocole accepté par le serveur. Mais le protocole ne devra être changé que s'il est avantageux de le faire. |
Codes commençant par 2 | Succès | Indique que la requête a été reçue, comprise et acceptée. |
200 | OK | Tout va bien, tout est normal : la requête a été traitée avec succès :-) |
201 | Created ("Créé") | Requête traitée avec succès, et une nouvelle ressource a été créée. |
202 | Accepted ("Accepté") | Requête acceptée, mais son traitement n'est pas terminé. |
203 | Non-Authoritative Information ("Information ne faisant pas autorit") | Requête traitée avec succès mais les données transmises ne sont pas conformes aux originales, et proviennent d'une copie locale ou d'un tiers. |
204 | No Content ("Pas de contenu") | Requête traitée avec succès, mais le serveur n'a pas besoin de transmettre de contenu. |
205 | Reset Content ("Rétablir le contenu") | Indique au navigateur de supprimer le contenu des champs d'un formulaire. |
206 | Partial Content ("Contenu partiel") | Le serveur a partiellement satisfait à la demande GET pour la ressource (réponse à une requête comportant l'en-tête "Range"). |
Codes commençant par 3 | Redirection | Indique qu'une action supplémentaire doit être entreprise par l'agent d'utilisateur afin de satisfaire la demande. |
301 | Moved Permanently ("Déplacement définitif") | Redirection permanente : les ressources demandées se trouvent à une nouvelle adresse (l'URL demandée peut être oubliée). |
302 | Moved Temporarily ("Déplacement temporaire") dans la RFC 1945 (HTTP/1.0). Sinon Found ("Trouvé") dans la RFC 2616 (HTTP/1.1) qui a ajouté les codes 303 et 307. | Sens le plus commun : redirection temporaire. Les ressources se trouvent à une nouvelle adresse, mais l'URL demandée doit continuer à être utilisée par le client. Selon la RFC 2616, la réponse du serveur doit seulement indiquer l'URL où la ressource peut être trouvée. Mais la RFC 2616, comme la RFC 1945, moins récente, précisent bien que le client n'est pas autorisé à changer la méthode de la demande redirigée. Cependant, les 302 sont souvent traitées comme des 303... |
303 | See Other ("Voir autre") | La réponse à la requête peut être trouvée à une autre url en utilisant GET. |
304 | Not Modified ("Non modifié") | Le client dispose d'une copie à jour de la ressource demandée. |
305 | Use Proxy ("Utiliser un mandataire/proxy") | La ressource demandée n'est accessible que via un proxy. |
307 | Temporary Redirect ("Redirection temporaire") | Redirection temporaire (légère variante de l'erreur 302 souvent mal interprétée comme une 303, et justement introduite pour éviter cette confusion, l'erreur 307 indique qu'il faut garder la même méthode, POST par exemple). |
Codes commençant par 4 | Erreur du client | Indique que le navigateur semble s'être trompé. |
400 | Bad Request ("Mauvaise demande") | La requête n'a pas été comprise en raison de sa syntaxe. |
401 | Unauthorized ("Non autorisé") | La requête nécessite l'authentification de l'utilisateur. |
403 | Forbidden ("Interdit") | La requête est valide, mais le serveur refuse d'y répondre (il a été paramétré pour cela, et cela peut être lié à un problème d'autorisation). |
404 | Not Found ("Non trouvé") | Le serveur n'a rien trouvé correspondant à l'url demandée. Rien ne précise si c'est temporaire, mais si c'est définitif, l'erreur 410 est préférable. |
405 | Method Not Allowed ("Méthode non admise") | La méthode (GET, POST) n'est pas supportée par la ressource demandée. |
406 | Not Acceptable ("Pas acceptable") | La ressource n'est pas conforme à la demande. |
408 | Request Timeout ("Délai écoulé pour la requête") | Le client n'a pas produit assez vite la requête attendue par le serveur, mais peut la produire plus tard. |
410 | Gone ("Page indisponible définitivement" | La ressource demandée n'est plus disponible, a fortiori de façon définitive (sinon la 404 est préférable) et le serveur ne sait pas vers où renvoyer |
Codes commençant par 5 | Erreur du serveur | Indique que le serveur web n'a pas réussi à traiter une requête pourtant valide (une mauvaise nouvelle à transmettre aux services techniques du site en général...) |
500 | Internal Server Error ("Erreur interne du serveur") | Message générique : aucune précision n'est possible, mais le serveur a rencontré un problème inattendu qui l'a empêché de traiter la requête avec succès. |
501 | Not Implemented ("Non mis en oeuvre") | Le serveur ne supporte pas la fonctionnalité requise pour traiter avec succès la requête (ou ne reconnaît pas la requête). |
502 | Bad Gateway ou Proxy Error ("Mauvaise passerelle") | Le serveur agissait comme un intermédiaire (passerelle ou proxy) et une mauvaise réponse lui a été envoyée par un autre serveur. |
503 | Service Unavailable ("Service indisponible") | Indisponibilité en général temporaire du serveur, à cause d'une maintenance ou d'une surcharge. |
504 | Gateway Time-out ("Expiration de la passerelle") | Le serveur agissait comme un intermédiaire (passerelle ou proxy) et il n'a pas eu de réponse d'un autre serveur dans les temps. |
505 | HTTP Version not supported ("Code d'extension de version HTTP non prise en charge") | Le serveur ne supporte pas la version du protocole HTTP utilisée |
PAUL-ANTOINE BISGAMBIGLIA | Mise à jour le 16/05/2014