Codes de réponse HTTP : La liste complète

Codes de réponse HTTP : La liste complète

Patrick Stox
Patrick Stox est conseiller produit, spécialiste SEO technique et ambassadeur à Ahrefs. Il co-organise divers évènements comme le Raleigh SEO Meetup, Raleigh SEO Conference, Beer & SEO Meetup et Findability Conference. Il est aussi modérateur sur /r/TechSEO.
    Les codes de réponse HTTP sont des répons­es des serveurs à des requêtes clients (générale­ment des nav­i­ga­teurs). Les codes sont dans la réponse serveur. Ils inclu­ent un nom­bre à trois chiffres et générale­ment une descrip­tion. Les spé­ci­fi­ca­tions et leurs fonc­tion­nal­ités sont définies par le Wide Web Con­sor­tium (W3C).

    Les codes de réponse sont la manière dont un client et un serveur com­mu­niquent entre eux. Vous pou­vez voir le code HTTP de n’importe quelle page avec la barre d’outils SEO Ahrefs en cli­quant sur le nom­bre à trois chiffres.

    Vous pou­vez aus­si cli­quer et éten­dre la vue pour voir toute la réponse du head­er, ce qui peut vous aider à cor­riger beau­coup de prob­lèmes techniques.

    Il y a cinq caté­gories de codes:

    Vous souhaitez savoir ce que veu­lent dire ces codes et com­ment Google les gère ? Con­tin­uez la lecture.

    Un code de réponse 1xx indique que le serveur a reçu la requête et qu’il va con­tin­uer à la traiter.

    100 Con­tin­ue – Tout va bien, continuez.

    101 Switch­ing Pro­to­cols – Il y a un mes­sage, comme une demande d’upgrade, qui va faire pass­er sous un nou­veau protocole.

    102 Pro­cess­ing – Les choses sont en train de se dérouler, mais ce n’est pas encore terminé.

    103 Ear­ly Hints – Vous per­met de précharg­er des ressources, ce qui peut vous aider à amélior­er le LCP (Larget Con­tent­ful Paint) pour les Core Web Vitals.

    Les codes de réponse 2xx indiquent que la requête du client a bien été reçue, com­prise et acceptée.

    200 OK – Tout va bien.

    201 Cre­at­ed – Sim­i­laire à 200, mais la mesure du suc­cès est qu’une nou­velle ressource a été créée.

    202 Accept­ed – Une requête a été accep­tée et va être traitée, mais elle n’est pas encore ter­minée, elle n’a peut-être même pas encore commencé.

    203 Non-Author­i­ta­tive Infor­ma­tion – Quelque chose a changé après qu’il vous ait été envoyé par le serveur.

    204 No Con­tent – La requête a été envoyée, mais il n’y a pas de con­tenu dans le body.

    205 Reset Con­tent – Reset le doc­u­ment à son état orig­i­nal (par exem­ple recharg­er un for­mu­laire vierge)

    206 Par­tial Con­tent – Seule­ment une par­tie du con­tenu a été envoyée

    207 Mul­ti-Sta­tus – Il y a plus de codes de répons­es qui pour­raient être 2xx, 3xx, 4xx, ou 5xx

    208 Already Report­ed – Le client dit au serveur que la même ressource a déjà été men­tion­née plus tôt.

    218 This is fine – Util­i­sa­tion non offi­cielle par Apache

    226 IM Used – Cela per­met au serveur d’envoyer des change­ments (diffs) ou ressources aux clients

    Comment Google gère les 2xx

    La plu­part des 2xxs vont per­me­t­tre aux pages d’être indexées. Cela dit, les 204s seront traitées comme des soft 404 et ne seront pas indexées. 

    Les soft 404 peu­vent aus­si être des URL où le serveur déclare un suc­cès (200), mais le con­tenu de la page n’existe pas. Le code aurait dû être un 404, mais le serveur dit que tout va bien alors que ce n’est pas le cas. Cela peut aus­si arriv­er avec des pages qui ont peu ou pas de contenu.

    Vous pou­vez trou­ver ces soft 404 dans le rap­port de cou­ver­ture de Google Search Console.

    Les codes de réponse 3xx indiquent que le client doit encore faire quelque chose avant que la requête puisse être un succès.

    300 Mul­ti­ple Choic­es – Il y a plus d’une seule réponse pos­si­ble, il va peut-être fal­loir en choisir une.

    301 Moved Per­ma­nent­ly – L’ancienne source est main­tenant redirigée vers la nouvelle.

    302 Found – L’ancienne ressource redirige tem­po­raire­ment vers une nou­velle ressource. 

    302 Moved Tem­porar­i­ly – L’ancienne ressource redirige tem­po­raire­ment vers une nou­velle ressource. 

    303 See Oth­er – C’est une autre redi­rec­tion qui indique que la ressource peut être trou­vée ailleurs.

    304 Not Mod­i­fied – Déclare que la page n’a pas été mod­i­fiée. Générale­ment util­isé pour le cache.

    305 Use Proxy – La ressource demandée n’est disponible que si vous utilisez un proxy.

    306 Switch Proxy – Votre prochaine requête devrait utilis­er le proxy spé­ci­fié. Ce code n’est plus utilisé.

    307 Tem­po­rary Redi­rect – Fonc­tionne comme une redi­rec­tion 302, mais on ne peut pas pass­er entre POST et GET.

    307 HSTS Pol­i­cy – Force le client à utilis­er le HTTPS lorsqu’il fait une requête plutôt que le HTTP.

    308 Per­ma­nent Redi­rect

    Fonc­tionne comme une redi­rec­tion 301, mais on ne peut pas pass­er entre POST et GET.

    Comment Google gère les 3xx

    Les 301 et les 302 sont des sig­naux de canon­i­sa­tion. Ils passent du PageR­ank et aident à déter­min­er les URL vis­i­bles dans l’index de Google. Une 301 ren­force la nou­velle URL et une 302 ren­force l’ancienne. Si une 302 reste en place suff­isam­ment longtemps ou si l’URL qu’elle redirige existe déjà, une 302 peut être traitée comme une 301 et ren­forcer la nou­velle URL à la place.

    Les 302 peu­vent aus­si être util­isées pour rediriger des util­isa­teurs vers des pages d’accueil dans une langue ou pour un pays spé­ci­fique, mais la même logique ne devrait pas être util­isée pour des pages plus profondes.

    Les 303 ont un traite­ment par Google indéfi­ni. Elles peu­vent être con­sid­érées comme des 301 ou des 302 selon com­ment elles fonctionnent.

    Pour les 307, il y a deux cas de fig­ure. Lorsque c’est une redi­rec­tion tem­po­raire, elle sera traitée de la même manière qu’une 302 et va ten­ter de con­solid­er l’URL ini­tiale. Lorsque le serveur web demande au client de n’utiliser que les con­nex­ions HTTPS (HSTS pol­i­cy), Google ne ver­ra pas la 307, car elle est dans le cache du nav­i­ga­teur. Le hit ini­tial (sans cache) aura une réponse qui sera sans doute une 301 ou 302. Mais votre nav­i­ga­teur va vous mon­tr­er une 307 pour les requêtes suivantes.

    Les 308 sont traitées de la même manière que les 301 et con­soli­dent la nou­velle URL.

    Google va suiv­re jusqu’à 10 redi­rec­tions à suiv­re. Générale­ment, il en suit 5 à la pre­mière ses­sion et reprend où il en était à la suiv­ante. Après cela, le sig­nal pour­rait ne pas être con­solidé vers les pages redirigées.

    Vous pou­vez trou­ver ces chaînes de redi­rec­tion dans l’Audit de site Ahrefs ou avec notre out­il gra­tu­it Ahrefs Web­mas­ter Tools (AWT).

    Un code de réponse 4xx indique que le client a une erreur, elle est générale­ment expliquée dans la réponse.

    400 Bad Request – Quelque chose s’est mal passé avec la requête du client. Elle est peut-être mal rem­plie, invalide ou trop grande. Le serveur n’arrive pas à com­pren­dre la requête.

    401 Unau­tho­rized – Le client ne s’est pas iden­ti­fié ou véri­fié lorsque c’était nécessaire.

    402 Pay­ment Required – Ce n’est pas une util­i­sa­tion offi­cielle, et est réservé pour le futur pour un hypothé­tique sys­tème de paiement numérique. Cer­tains com­merçants s’en ser­vent pour leurs pro­pres besoins. Par exem­ple, Shopi­fy l’utilise lorsqu’une bou­tique n’a pas payé ses frais et Stripe lorsqu’il fait face à un paiement poten­tielle­ment frauduleux.

    403 For­bid­den – Le client est recon­nu, mais n’a pas les droits d’accès.

    404 Not Found – La ressource req­uise n’a pas été trouvée.

    405 Method Not Allowed – La méth­ode de requête n’est pas sup­port­ée, par exem­ple un for­mu­laire devrait utilis­er POST, mais utilis­er GET.

    406 Not Accept­able – Le head­er d’acceptation req­uis par le client ne peut pas être accom­pli par le serveur.

    407 Proxy Authen­ti­ca­tion Required – L’authentification doit être faite par proxy.

    408 Request Time­out – Le serveur est en time out ou a décidé de fer­mer la connexion.

    409 Con­flict – La requête est en con­flit avec l’état du serveur.

    410 Gone – Sim­i­laire à une 404 lorsque la ressource n’est pas trou­vée, mais cela dit aus­si qu’elle ne sera plus jamais disponible.

    411 Length Required – La requête ne con­tient pas le champ de longueur de con­tenu lorsque c’est nécessaire.

    412 Pre­con­di­tion Failed – Le client met une con­di­tion à la requête à laque­lle le serveur ne peut pas répondre.

    413 Pay­load Too Large – La requête est plus grande que ce qui est autorisé par le serveur.

    414 URI Too Long – L’URI demandé est plus long que ce qu’autorise le serveur.

    415 Unsup­port­ed Media Type – Le for­mat req­uis n’est pas sup­porté par le serveur.

    416 Range Not Sat­is­fi­able – Le client demande une por­tion de fichi­er qui ne peut pas être fourni par le serveur. Par exem­ple, deman­der une par­tie du fichi­er plus loin que là où il se ter­mine réellement.

    417 Expec­ta­tion Failed – L’attente indiquée dans le head­er de requête “Expect” ne peut pas être rem­plie par le serveur.

    418 I’m a Teapot – Lorsque vous essayez de faire du thé dans une théière. Cela a com­mencé comme une blague du 1er avril 1998, mais qui est ren­tré dans les normes. Avec tous les appareils con­nec­tés que nous avons, cela fini­ra peut-être par être utilisé.

    419 Page Expired – Util­i­sa­tion non offi­cielle par Lar­avel Framework.

    420 Method Fail­ure – Util­i­sa­tion non offi­cielle par Spring Framework.

    420 Enhance Your Calm – Util­i­sa­tion non offi­cielle par Twitter.

    421 Mis­di­rect­ed Request – Le serveur à qui la requête a été envoyée ne peut pas y répondre.

    422 Unprocess­able Enti­ty – Il y a des erreurs séman­tiques dans la requête.

    423 Locked – La ressource demandée est verrouillée.

    424 Failed Depen­den­cy – L’échec de la requête est dû à l’échec d’une autre requête.

    425 Too Ear­ly – Le serveur ne veut pas répon­dre à la requête pour le moment, car elle est sus­cep­ti­ble de revenir plus tard.

    426 Upgrade Required – Le serveur refuse la requête tant que le client n’utilise pas un pro­to­cole plus récent. Ce qu’il faut met­tre à jour est indiqué dans le head­er “Upgrade”.

    428 Pre­con­di­tion Required – Le serveur a besoin que la requête soit conditionnelle.

    429 Too Many Requests – C’est une forme de lim­i­ta­tion de nom­bre de requêtes pour pro­téger les serveurs, le client a envoyé trop de requêtes en un laps de temps trop court.

    430 Request Head­er Fields Too Large – Util­i­sa­tion non offi­cielle par Shopify.

    431 Request Head­er Fields Too Large – Le serveur ne va pas répon­dre à la requête parce que le champ de head­er est trop grand.

    440 Login Time-out – Util­i­sa­tion non offi­cielle par IIS.

    444 No Response – Util­i­sa­tion non offi­cielle par nginx.

    449 Retry With – Util­i­sa­tion non offi­cielle par IIS.

    450 Blocked by Win­dows Parental Con­trols – Util­i­sa­tion non offi­cielle par Microsoft.

    451 Unavail­able For Legal Rea­sons – Le blocage inter­vient pour une rai­son juridique. Vous ver­rez par­fois cela pour des blocages à l’échelle d’un pays. Par exem­ple des actu­al­ités ou des vidéos, que ce soit dû à des ques­tions de vie privée ou de droit d’utilisation. Cela peut aus­si être le cas pour des plaintes DMCA. Le code en lui-même fait référence au roman Fahren­heit 451.

    451 Redi­rect – Fahren­heit 451. IIS.

    460 – Util­i­sa­tion non offi­cielle par AWS Elas­tic Load Balancer.

    463 – Util­i­sa­tion non offi­cielle par AWS Elas­tic Load Balancer.

    494 Request head­er too large – Util­i­sa­tion non offi­cielle par nginx.

    495 SSL Cer­tifi­cate Error – Util­i­sa­tion non offi­cielle par nginx.

    496 SSL Cer­tifi­cate Required – Util­i­sa­tion non offi­cielle par nginx.

    497 HTTP Request Sent to HTTPS Port – Util­i­sa­tion non offi­cielle par nginx.

    498 Invalid Token – Util­i­sa­tion non offi­cielle par Esri.

    499 Client Closed Request – Util­i­sa­tion non offi­cielle par nginx.

    499 Token Required – Util­i­sa­tion non offi­cielle par Esri.

    Comment Google gère les4xx

    Les 4xx vont faire sor­tir les pages de l’index.

    Les 404 et les 401 sont traitées de la même manière. Dans les deux cas, les pages seront sor­ties de l’index, mais ce sera générale­ment plus rapi­de avec une 410. Sinon, c’est à peu près la même chose.

    Les 421 sont util­isées par Google pour se désen­gager d’un crawl avec HTTP/2

    Les 429 sont un peu spé­ciales, car elles sont générale­ment traitées comme des erreurs serveur et vont faire ralen­tir le crawl en réponse. Mais Google fini­ra égale­ment par retir­er les pages de l’index.

    Vous pou­vez voir les 404 l’Audit de site Ahrefs ou avec notre out­il gra­tu­it Ahrefs Web­mas­ter Tools (AWT).

    Une autre chose que vous devriez véri­fi­er est si ces pages 404 ont des liens qui mènent vers elles. Si les liens mènent vers une 404, ils ne comptent pas pour votre site. Il va sans doute fal­loir faire des redi­rec­tions 301 sur cha­cune de ces pages vers une autre, per­ti­nente. Voici com­ment trou­ver ces opportunités.

    1. Collez votre domaine dans l’Explo­rateur de site (égale­ment acces­si­ble gra­tu­ite­ment dans AWT)
    2. Allez dans le rap­port Meilleur par liens (Best by links)
    3. Ajoutez “404 not found” dans le fil­tre de réponse HTTP.

    Je classe générale­ment la liste par Domaines référents (Refer­ring domains)

    Les codes de répons­es 5xx indiquent que le serveur a ren­con­tré une erreur et sait qu’il ne peut pas accom­plir la requête. La réponse va don­ner la rai­son de l’erreur.

    500 Inter­nal Serv­er Error – Le serveur ren­con­tre un prob­lème et n’a pas de réponse plus spé­ci­fique pour l’expliquer.

    501 Not Imple­ment­ed – La méth­ode de requête n’est pas sup­port­ée par le serveur.

    502 Bad Gate­way – Le serveur était au milieu d’une requête util­isée pour du routage. Mais il a reçu une mau­vaise réponse de la part du serveur vers lequel il routait.

    503 Ser­vice Unavail­able – Le serveur est sur­chargé ou fer­mé pour main­te­nance et ne peut pas s’occuper de la requête pour le moment. Il sera cer­taine­ment de nou­veau en ligne rapidement.

    504 Gate­way Time­out – Le serveur était au milieu d’une requête util­isée pour du routage. Mais il n’a pas reçu de réponse dans les temps de la part du serveur vers lequel il routait.

    505 HTTP Ver­sion Not Sup­port­ed – Tout est dans le titre : la ver­sion de pro­to­cole HTTP de la requête n’est pas sup­port­ée par le serveur.

    506 Vari­ant Also Nego­ti­ates – Per­met au client d’obtenir les meilleures vari­a­tions d’une ressource lorsque le serveur en dis­pose de plusieurs.

    507 Insuf­fi­cient Stor­age – Le serveur ne peut pas stock­er ce qui est néces­saire pour répon­dre à la requête.

    508 Loop Detect­ed – Le serveur a trou­vé une boucle infinie en ten­tant de traiter la requête/

    509 Band­width Lim­it Exceed­ed – Util­i­sa­tion non offi­cielle par Apache et cPanel.

    510 Not Extend­ed – Plus d’extensions sont néces­saires à la requête avant que le serveur ne la traite.

    511 Net­work Authen­ti­ca­tion Required – Le client a besoin d’une authen­tifi­ca­tion avant que le serveur n’autorise l’accès au réseau.

    520 Web Serv­er Returned an Unknown Error – Util­i­sa­tion non offi­cielle par Cloudflare.

    521 Web Serv­er is Down – Util­i­sa­tion non offi­cielle par Cloudflare.

    522 Con­nec­tion Timed Out – Util­i­sa­tion non offi­cielle par Cloudflare.

    523 Ori­gin is Unreach­able – Util­i­sa­tion non offi­cielle par Cloudflare.

    524 A Time­out Occurred – Util­i­sa­tion non offi­cielle par Cloudflare.

    525 SSL Hand­shake Failed – Util­i­sa­tion non offi­cielle par Cloudflare.

    526 Invalid SSL Cer­tifi­cate – Util­i­sa­tion non offi­cielle par Cloudflare.

    527 Rail­gun Error – Util­i­sa­tion non offi­cielle par Cloudflare.

    529 Site is over­loaded – Util­i­sa­tion non offi­cielle par Qualys.

    530 – Util­i­sa­tion non offi­cielle par Cloudflare.

    530 Site is frozen – Util­i­sa­tion non offi­cielle par Pantheon.

    561 Unau­tho­rized – Util­i­sa­tion non offi­cielle par AWS Elas­tic Load Balancer.

    598 (Infor­mal con­ven­tion) Net­work read time­out error – Util­i­sa­tion non offi­cielle par cer­tains prox­ies HTTP.

    Comment Google gère les 5xx

    Les erreurs 5xx vont ralen­tir l’exploration. Au bout d’un moment, les pages seront retirées de l’index. Vous pou­vez trou­ver ces erreurs via l’Audit de site ou les out­ils de web­mas­ter Ahrefs, mais elles peu­vent être dif­férentes de ce que voit Google. Comme ce sont des erreurs serveur, elles ne sont pas tout le temps présentes.