{"id":13766,"date":"2021-04-01T15:27:49","date_gmt":"2021-04-01T15:27:49","guid":{"rendered":"https:\/\/www.dotcom-monitor.com\/blog\/2021\/04\/01\/les-10-codes-de-statut-http-les-plus-courants\/"},"modified":"2026-05-31T20:27:25","modified_gmt":"2026-05-31T20:27:25","slug":"les-10-codes-de-statut-http-les-plus-courants","status":"publish","type":"post","link":"https:\/\/www.dotcom-monitor.com\/blog\/fr\/les-10-codes-de-statut-http-les-plus-courants\/","title":{"rendered":"Les codes d&#8217;\u00e9tat HTTP les plus courants (et que faire pour chacun)"},"content":{"rendered":"<figure id=\"attachment_33970\" aria-describedby=\"caption-attachment-33970\" style=\"width: 1536px\" class=\"wp-caption alignnone\"><img fetchpriority=\"high\" decoding=\"async\" class=\"size-full wp-image-33970\" src=\"https:\/\/www.dotcom-monitor.com\/blog\/wp-content\/uploads\/sites\/3\/2024\/12\/hero-http-status-codes.webp\" alt=\"R\u00e9f\u00e9rence visuelle des codes de statut HTTP les plus courants regroup\u00e9s par cat\u00e9gorie \u2014 2xx succ\u00e8s, 3xx redirection, 4xx erreur client, 5xx erreur serveur\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/www.dotcom-monitor.com\/blog\/wp-content\/uploads\/sites\/3\/2024\/12\/hero-http-status-codes.webp 1536w, https:\/\/www.dotcom-monitor.com\/blog\/wp-content\/uploads\/sites\/3\/2024\/12\/hero-http-status-codes-300x200.webp 300w, https:\/\/www.dotcom-monitor.com\/blog\/wp-content\/uploads\/sites\/3\/2024\/12\/hero-http-status-codes-1024x683.webp 1024w, https:\/\/www.dotcom-monitor.com\/blog\/wp-content\/uploads\/sites\/3\/2024\/12\/hero-http-status-codes-768x512.webp 768w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><figcaption id=\"caption-attachment-33970\" class=\"wp-caption-text\">Les cinq cat\u00e9gories de codes de statut HTTP et les codes que vous verrez r\u00e9ellement en production.<\/figcaption><\/figure>\n<p>Votre pager sonne \u00e0 2 heures du matin. La charge utile de l\u2019alerte contient un code de statut. Ce que vous faites ensuite d\u00e9pend presque enti\u00e8rement du code que vous voyez.<\/p>\n<p>C\u2019est la partie que la plupart des guides de codes de statut HTTP omettent. Ils listent les d\u00e9finitions, classent les codes en cinq groupes, et s\u2019arr\u00eatent l\u00e0. Utile comme glossaire, moins utile quand un vrai endpoint lance des 502 et qu\u2019un dirigeant demande pourquoi le paiement est cass\u00e9.<\/p>\n<p>Ce guide couvre les dix m\u00eames codes que vous verrez le plus souvent, plus quelques mentions honorables. Pour chacun : ce que cela signifie, ce qui le d\u00e9clenche habituellement en production, et ce qu\u2019il faut v\u00e9rifier en premier. Le but est de raccourcir le temps entre \u00ab Je vois le code \u00bb et \u00ab Je sais quoi r\u00e9parer. \u00bb<\/p>\n<h2 id='qu-est-ce-qu-un-code-de-statut-http'  id=\"boomdevs_1\">Qu\u2019est-ce qu\u2019un code de statut HTTP ?<\/h2>\n<p>Un code de statut HTTP est un nombre \u00e0 trois chiffres que le serveur renvoie avec chaque r\u00e9ponse. Il indique au client si la requ\u00eate a r\u00e9ussi, \u00e9chou\u00e9, ou doit \u00eatre redirig\u00e9e. Vous les voyez partout : dans l\u2019onglet R\u00e9seau des outils de d\u00e9veloppement de votre navigateur, dans les journaux du r\u00e9partiteur de charge, dans les alertes de surveillance, dans les tableaux de bord CDN. Ce guide se concentre sur ceux qui r\u00e9veillent vraiment les gens.<\/p>\n<h2 id='les-cinq-cat\u00e9gories-de-codes-de-statut-http'  id=\"boomdevs_2\">Les cinq cat\u00e9gories de codes de statut HTTP<\/h2>\n<p>Le premier chiffre du code indique la classe de r\u00e9ponse :<\/p>\n<ul>\n<li><strong>1xx Informationnel.<\/strong> Rare dans le travail quotidien. Principalement utilis\u00e9 pour la n\u00e9gociation de protocole (100 Continue, 101 Switching Protocols pour les mises \u00e0 niveau WebSocket).<\/li>\n<li><strong>2xx Succ\u00e8s.<\/strong> La requ\u00eate a fonctionn\u00e9. 200 est la valeur par d\u00e9faut ; 201 signifie qu\u2019une ressource a \u00e9t\u00e9 cr\u00e9\u00e9e ; 204 signifie succ\u00e8s sans contenu.<\/li>\n<li><strong>3xx Redirection.<\/strong> La ressource se trouve ailleurs. Les navigateurs et les moteurs de recherche suivent ces codes automatiquement jusqu\u2019\u00e0 une limite.<\/li>\n<li><strong>4xx Erreur client.<\/strong> La requ\u00eate \u00e9tait erron\u00e9e. URL incorrecte, auth manquante, permissions bloqu\u00e9es, charge utile mal form\u00e9e.<\/li>\n<li><strong>5xx Erreur serveur.<\/strong> La requ\u00eate \u00e9tait correcte. Le serveur a \u00e9chou\u00e9 \u00e0 la traiter.<\/li>\n<\/ul>\n<p>La distinction entre 4xx et 5xx est la plus importante pour le triage. Un 4xx signifie \u00ab c\u2019est l\u2019appelant qui a fait une erreur \u00bb. Un 5xx signifie \u00ab nous avons fait une erreur \u00bb. Le premier est renvoy\u00e9 \u00e0 celui qui a appel\u00e9 le point de terminaison. Le second vous est adress\u00e9.<\/p>\n<p>Pour une \u00e9num\u00e9ration compl\u00e8te, la <a href=\"https:\/\/www.dotcom-monitor.com\/wiki\/knowledge-base\/http-status-codes-list\/\">r\u00e9f\u00e9rence compl\u00e8te des codes de statut HTTP<\/a> dans le wiki Dotcom-Monitor liste tous les codes d\u00e9finis par la sp\u00e9cification. Le reste de ce guide se concentre sur ceux qui apparaissent r\u00e9ellement dans les alertes.<\/p>\n<h2 id='les-dix-codes-de-statut-http-les-plus-courants'  id=\"boomdevs_3\">Les dix codes de statut HTTP les plus courants<\/h2>\n<h3 id='200-ok'  id=\"boomdevs_4\">200 OK<\/h3>\n<p>Le serveur a trait\u00e9 la requ\u00eate et a renvoy\u00e9 la r\u00e9ponse attenduer\u00e9ponse. C&#8217;est le code que vous souhaitez voir dans la grande majorit\u00e9 des requ\u00eates vers un site de production sain.<\/p>\n<p><strong>Attention \u00e0 :<\/strong> un 200 OK n&#8217;est pas la preuve que la page est correcte. JavaScript peut \u00e9chouer silencieusement et afficher une page blanche. Une API peut renvoyer un 200 avec un corps d&#8217;erreur. Un formulaire de connexion peut afficher \u00ab identifiants invalides \u00bb dans une r\u00e9ponse 200. Les v\u00e9rifications bas\u00e9es uniquement sur le code d&#8217;\u00e9tat manquent ces cas. Associez-les \u00e0 des contr\u00f4les en navigateur r\u00e9el (plus d&#8217;informations ci-dessous).<\/p>\n<h3 id='301-moved-permanently'  id=\"boomdevs_5\">301 Moved Permanently<\/h3>\n<p>La ressource a une nouvelle URL permanente. Les navigateurs mettent en cache la redirection de mani\u00e8re agressive. Les moteurs de recherche transf\u00e8rent la plupart de l&#8217;\u00e9quit\u00e9 des liens vers la cible.<\/p>\n<p><strong>Utilisez-le pour :<\/strong> les modifications d&#8217;URL apr\u00e8s une migration de site, le passage de HTTP \u00e0 HTTPS, la consolidation de chemins en double, la suppression d&#8217;anciens slugs. Une fois qu&#8217;un 301 est en place et mis en cache, revenir en arri\u00e8re est compliqu\u00e9 \u2014 navigateurs et moteurs de recherche continueront d&#8217;aller \u00e0 la nouvelle adresse pendant des semaines.<\/p>\n<h3 id='302-found-temporary-redirect'  id=\"boomdevs_6\">302 Found (Temporary Redirect)<\/h3>\n<p>La ressource est temporairement ailleurs. Les navigateurs ne mettent pas en cache la redirection et les moteurs de recherche ne transmettent pas l&#8217;\u00e9quit\u00e9 compl\u00e8te des liens.<\/p>\n<p><strong>Attention \u00e0 :<\/strong> le 302 est trop utilis\u00e9. Les \u00e9quipes l&#8217;utilisent parce que l&#8217;assistant de redirection par d\u00e9faut du framework renvoie un 302. Si le d\u00e9placement est permanent, utilisez 301. Si vous devez conserver la m\u00e9thode HTTP (POST reste POST), utilisez plut\u00f4t 307 ou 308. Google finira par traiter les 302 persistants comme des 301, mais \u00ab finir par \u00bb n&#8217;est pas une strat\u00e9gie.<\/p>\n<h3 id='400-bad-request'  id=\"boomdevs_7\">400 Bad Request<\/h3>\n<p>Le serveur ne peut pas analyser la requ\u00eate. JSON mal form\u00e9, en-t\u00eates invalides, charge utile trop volumineuse, violations de sch\u00e9ma.<\/p>\n<p><strong>V\u00e9rifiez d&#8217;abord :<\/strong> le corps de la requ\u00eate. Une explosion des 400 sur un point d&#8217;API indique g\u00e9n\u00e9ralement qu&#8217;un client a commenc\u00e9 \u00e0 envoyer une forme incorrecte \u2014 un d\u00e9ploiement c\u00f4t\u00e9 client, un changement de sch\u00e9ma de votre c\u00f4t\u00e9, ou une int\u00e9gration tierce ayant mis \u00e0 jour leur format. Comparez la charge de la requ\u00eate avec votre derni\u00e8re version fonctionnelle connue.<\/p>\n<h3 id='401-unauthorized'  id=\"boomdevs_8\">401 Unauthorized<\/h3>\n<p>La requ\u00eate n&#8217;a pas de justificatifs, ou des justificatifs qui ont \u00e9t\u00e9 rejet\u00e9s. Le nom est trompeur \u2014 le probl\u00e8me est l&#8217;authentification, pas l&#8217;autorisation.<\/p>\n<p><strong>V\u00e9rifiez d&#8217;abord :<\/strong> les jetons. Une mont\u00e9e soudaine de 401 sur des points qui fonctionnaient auparavant signifie souvent qu&#8217;un jeton a expir\u00e9, une cl\u00e9 de signature a \u00e9t\u00e9 tourn\u00e9e, un fournisseur OIDC a eu une panne, ou quelqu&#8217;un a chang\u00e9 la revendication d&#8217;audience. Si votre <a href=\"https:\/\/www.dotcom-monitor.com\/blog\/fr\/surveillance-de-la-disponibilite-des-api\/\">surveillance de la disponibilit\u00e9 API<\/a> montre des 401 l\u00e0 o\u00f9 il y avait des 200, la couche d&#8217;auth est g\u00e9n\u00e9ralement en cause.<\/p>\n<h3 id='403-forbidden'  id=\"boomdevs_9\">403 Forbidden<\/h3>\n<p>Les justificatifs sont valides, mais l&#8217;appelant n&#8217;a pas le droit d&#8217;acc\u00e9der \u00e0 cette ressource. Le probl\u00e8me est l&#8217;autorisation, pas l&#8217;authentification.<\/p>\n<p><strong>V\u00e9rifiez d&#8217;abord :<\/strong> les permissions et r\u00e8gles d&#8217;infrastructure. Des 403 apparaissent quand une politique IAM change, une r\u00e8gle WAF commence \u00e0 bloquer du trafic l\u00e9gitime, une politique d&#8217;acc\u00e8s CDN devient trop stricte, ou un flag de fonctionnalit\u00e9 est activ\u00e9 pour le mauvais segment d\u2019utilisateurs. Si les 403 ont commenc\u00e9 juste apr\u00e8s un d\u00e9ploiement, examinez les diff\u00e9rences de politiques et de configuration avant le code applicatif.<\/p>\n<h3 id='404-not-found'  id=\"boomdevs_10\">404 Not Found<\/h3>\n<p>Le serveur a compris la requ\u00eate mais ne dispose d&#8217;aucune ressource \u00e0 th\u00e0 l&#8217;URL. Le code d&#8217;\u00e9tat le plus c\u00e9l\u00e8bre qui existe.<\/p>\n<p><strong>Deux sc\u00e9narios \u00e0 diff\u00e9rencier :<\/strong><\/p>\n<ul>\n<li><strong>404 ponctuels<\/strong> dus \u00e0 des fautes de frappe, anciens favoris ou robots explorant des vuln\u00e9rabilit\u00e9s. Ce sont des bruits de fond.<\/li>\n<li><strong>Une rafale de 404 sur des URLs canoniques<\/strong> juste apr\u00e8s un d\u00e9ploiement. C&#8217;est une version cass\u00e9e \u2014 des routes ont \u00e9t\u00e9 supprim\u00e9es, un artefact de build est manquant, ou quelqu&#8217;un a d\u00e9ploy\u00e9 un changement de slug sans redirections. Revenir en arri\u00e8re ou pousser un hotfix.<\/li>\n<\/ul>\n<p>Les 404 persistants sur des pages index\u00e9es finiront par \u00eatre d\u00e9sindex\u00e9s par Google, donc les pages canoniques qui renvoient un 404 ont aussi un co\u00fbt SEO.<\/p>\n<h4 id='correction'  id=\"boomdevs_11\">Correction<\/h4>\n<p><strong>Solution rapide :<\/strong> si la page a \u00e9t\u00e9 d\u00e9plac\u00e9e, ajoutez une redirection 301 de l&#8217;ancienne URL vers la nouvelle pour que les utilisateurs et les robots arrivent au bon endroit. Si la page a vraiment disparu, renvoyez un vrai 404 ou 410 plut\u00f4t qu&#8217;une redirection vague vers la page d&#8217;accueil.<\/p>\n<p><strong>Correction r\u00e9elle :<\/strong> auditez la source des 404. Les liens internes cass\u00e9s sont corrig\u00e9s \u00e0 la source ; les routes manquantes apr\u00e8s un d\u00e9ploiement n\u00e9cessitent un hotfix ; une mauvaise migration qui a supprim\u00e9 des slugs requiert une carte de redirection. Parcourez votre propre site r\u00e9guli\u00e8rement pour d\u00e9tecter les liens morts avant Google.<\/p>\n<h3 id='500-internal-server-error'  id=\"boomdevs_12\">500 Internal Server Error<\/h3>\n<p>Le serveur a rencontr\u00e9 une exception non g\u00e9r\u00e9e. Le 5xx attrape-tout. Il vous dit que quelque chose a cass\u00e9 mais pas quoi.<\/p>\n<p><strong>V\u00e9rifiez d&#8217;abord :<\/strong> les logs de l&#8217;application. Chaque 500 a une trace de pile quelque part \u2014 s&#8217;il n&#8217;y en a pas, votre journalisation doit \u00eatre am\u00e9lior\u00e9e avant votre code. D\u00e9clencheurs courants : une exception non captur\u00e9e dans un chemin de code r\u00e9cemment d\u00e9ploy\u00e9, une d\u00e9pendance en aval retournant une forme inattendue, un pool de connexions \u00e0 la base de donn\u00e9es \u00e9puis\u00e9, une boucle de red\u00e9marrage par manque de m\u00e9moire. Une mont\u00e9e en fl\u00e8che soutenue des 500 sur un endpoint de production doit alerter l&#8217;\u00e9quipe de garde.<\/p>\n<h4 id='correction-1'  id=\"boomdevs_13\">Correction<\/h4>\n<p><strong>Solution rapide :<\/strong> si la mont\u00e9e a commenc\u00e9 juste apr\u00e8s une publication, revenez en arri\u00e8re. Un 500 qui appara\u00eet dans les minutes suivant un d\u00e9ploiement est ce d\u00e9ploiement jusqu\u2019\u00e0 preuve du contraire.<\/p>\n<p><strong>Correction r\u00e9elle :<\/strong> lisez la trace de pile et corrigez le chemin de code d\u00e9faillant, puis ajoutez un test de r\u00e9gression pour \u00e9viter que cela ne revienne. Si le d\u00e9clencheur \u00e9tait un plafond de ressources \u2014 pool de connexions, m\u00e9moire, descripteurs de fichiers \u2014 augmentez la limite et ajoutez une alerte avant que cela ne se reproduise.<\/p>\n<h3 id='502-bad-gateway'  id=\"boomdevs_14\">502 Bad Gateway<\/h3>\n<p>Un proxy, load balancer ou CDN a re\u00e7u une r\u00e9ponse invalide du serveur en amont. Le proxy lui-m\u00eame est sain. Ce qu\u2019il y a derri\u00e8re ne l\u2019est pas.<\/p>\n<p><strong>V\u00e9rifiez d&#8217;abord :<\/strong> la sant\u00e9 de l&#8217;amont. D\u00e9clencheurs courants : un conteneur d\u2019application a plant\u00e9 et le load balancer continue \u00e0 y router, l&#8217;amont d\u00e9passe le temps imparti sans r\u00e9pondre, un pod Kubernetes est en CrashLoopBackOff, un worker Nginx est mal configur\u00e9, ou la connexion entre le proxy et l&#8217;amont a \u00e9t\u00e9 r\u00e9initialis\u00e9e. Le 502 est un des codes les plus significatifs pour les architectures en couches \u2014 il indique que la p\u00e9riph\u00e9rie est correcte et que le probl\u00e8me est une \u00e9tape en amont.<\/p>\n<h4 id='correction-2'  id=\"boomdevs_15\">Correction<\/h4>\n<p><strong>Solution rapide :<\/strong> red\u00e9marrez ou remplacez l\u2019instance amont d\u00e9faillante et confirmez que les v\u00e9rifications de sant\u00e9 du load balancer retirent effectivement les n\u0153uds morts de la rotation.<\/p>\n<p><strong>Real fix\u202f:<\/strong> trouvez pourquoi l&#8217;upstream a retourn\u00e9 des donn\u00e9es corrompues. V\u00e9rifiez si le timeout du proxy est plus court que le temps de r\u00e9ponse r\u00e9el de l&#8217;upstream, si le pod est en boucle de plantage au d\u00e9marrage, et si les param\u00e8tres keep-alive correspondent des deux c\u00f4t\u00e9s de la connexion.  <\/p>\n<h3 id='503-service-unavailable'  id=\"boomdevs_16\">503 Service Unavailable<\/h3>\n<p>Le serveur est temporairement incapable de traiter la requ\u00eate. Capacit\u00e9 \u00e9puis\u00e9e, mode maintenance, autoscaler encore en train de se lancer.  <\/p>\n<p><strong>V\u00e9rifiez d&#8217;abord :<\/strong> saturation des ressources et limites de taux. Les 503 lors d&#8217;un pic de trafic signifient g\u00e9n\u00e9ralement que l&#8217;autoscaler ne peut pas suivre ou que vous avez atteint une limite de connexion. Les 503 en \u00e9tat stable signifient g\u00e9n\u00e9ralement qu&#8217;un processus est en mode maintenance ou qu&#8217;une file d&#8217;attente est satur\u00e9e. Certaines plateformes renvoient aussi un 503 lorsqu&#8217;un WAF ou syst\u00e8me anti-bot en amont limite le taux d&#8217;un appelant\u2014il vaut mieux v\u00e9rifier avant de supposer que l&#8217;application est en cause.  <\/p>\n<h4 id='correction-3'  id=\"boomdevs_17\">Correction<\/h4>\n<p><strong>Solution rapide :<\/strong> renvoyez le 503 avec un en-t\u00eate <code>Retry-After<\/code> afin que les clients bienveillants et les crawlers se retirent au lieu de surcharger un serveur en difficult\u00e9. En PHP :  <\/p>\n<pre><code>http_response_code(503);  \nheader('Retry-After: 60');<\/code><\/pre>\n<p><strong>Correction r\u00e9elle :<\/strong> trouvez la ressource satur\u00e9e\u2014connexions \u00e0 la base de donn\u00e9es, pool de workers, plafond d&#8217;autoscaler\u2014et supprimez le goulot d&#8217;\u00e9tranglement. Si le 503 vient d&#8217;une limite de taux CDN ou WAF, relevez la limite ou mettez sur liste blanche l&#8217;appelant l\u00e9gitime.  <\/p>\n<h2 id='autres-codes-\u00e0-conna\u00eetre'  id=\"boomdevs_18\">Autres codes \u00e0 conna\u00eetre<\/h2>\n<p>Les dix codes pr\u00e9c\u00e9dents couvrent la majorit\u00e9 du trafic en production. Mais quelques autres apparaissent assez souvent dans des incidents r\u00e9els pour que les ing\u00e9nieurs en astreinte devraient les reconna\u00eetre au premier coup d&#8217;\u0153il.  <\/p>\n<ul>\n<li><strong>304 Not Modified.<\/strong> Envoy\u00e9 lorsqu&#8217;une ressource mise en cache est toujours fra\u00eeche. Courant dans le trafic derri\u00e8re un CDN. Une baisse des 304 peut signifier que vos en-t\u00eates cache-control ont chang\u00e9 et que vous payez d\u00e9sormais la bande passante d&#8217;origine que vous \u00e9conomisiez auparavant.<\/li>\n<li><strong>307 Temporary Redirect.<\/strong> Comme le 302, mais conserve la m\u00e9thode HTTP. Un POST reste un POST. Utilisez le 307 au lieu du 302 pour rediriger des soumissions de formulaires ou des appels API non idempotents.<\/li>\n<li><strong>308 Permanent Redirect.<\/strong> Comme le 301, mais conserve la m\u00e9thode HTTP. Le choix moderne pour rediriger de mani\u00e8re permanente des points d&#8217;API qui utilisent POST, PUT, PATCH ou DELETE.<\/li>\n<li><strong>429 Too Many Requests.<\/strong> Limite de taux atteinte. Vous \u00eates soit limit\u00e9 par une API en amont, soit vous limitez quelqu\u2019un d\u2019autre vous-m\u00eame. V\u00e9rifiez les en-t\u00eates <code>Retry-After<\/code> ; respectez-les.<\/li>\n<li><strong>504 Gateway Timeout.<\/strong> Un proxy a abandonn\u00e9 l\u2019attente de l\u2019upstream. Diff\u00e9rent du 502 car l\u2019upstream n\u2019a pas retourn\u00e9 une mauvaise r\u00e9ponse\u2014il n\u2019a retourn\u00e9 aucune r\u00e9ponse dans les temps. Souvent une requ\u00eate longue, un worker bloqu\u00e9 ou une API aval lente.<\/li>\n<\/ul>\n<h3 id='301-vs-302-vs-307-vs-308'  id=\"boomdevs_19\">301 vs 302 vs 307 vs 308<\/h3>\n<p>Les quatre codes de redirection sont souvent confondus. La diff\u00e9rence repose sur deux crit\u00e8res\u202f: si la redirection est permanente, et si la m\u00e9thode HTTP est conserv\u00e9e lors de la redirection.  <\/p>\n<div class=\"table-wrap\">\n<table class=\"compare\">\n<thead>\n<tr>\n<th>Comportement<\/th>\n<th>301<\/th>\n<th>302<\/th>\n<th>307<\/th>\n<th>308<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Permanence<\/td>\n<td>Permanent<\/td>\n<td>Temporaire<\/td>\n<td>Temporaire<\/td>\n<td>Permanente<\/td>\n<\/tr>\n<tr>\n<td>M\u00e9thode conserv\u00e9e<\/td>\n<td>Non garantie<\/td>\n<td>Non garantie<\/td>\n<td>Oui<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>Mis en cache par les navigateurs<\/td>\n<td>Aggressivement<\/td>\n<td>Non<\/td>\n<td>Non<\/td>\n<td>Oui<\/td>\n<\/tr>\n<tr>\n<td>Equit\u00e9 des liens transf\u00e9r\u00e9e<\/td>\n<td>La plupart<\/td>\n<td>Limit\u00e9e<\/td>\n<td>Limit\u00e9e<\/td>\n<td>La plupart<\/td>\n<\/tr>\n<tr>\n<td>Utiliser quand<\/td>\n<td>D\u00e9placement permanent de l\u2019URL<\/td>\n<td>Changement de courte dur\u00e9e<\/td>\n<td>Redirection de formulaire ou POST<\/td>\n<td>Point d\u2019acc\u00e8s API d\u00e9plac\u00e9 d\u00e9finitivement<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Pour une page simple d\u00e9plac\u00e9e d\u00e9finitivement, utilisez 301. Lorsque la redirection doit garder un POST en tant que POST \u2014 une soumission de formulaire ou un appel API non idempotent \u2014 utilisez 307 si le d\u00e9placement est temporaire ou 308 s\u2019il est permanent.<\/p>\n<h2 id='la-r\u00e9f\u00e9rence-compl\u00e8te-des-codes-d-\u00e9tat-http'  id=\"boomdevs_20\">La r\u00e9f\u00e9rence compl\u00e8te des codes d\u2019\u00e9tat HTTP<\/h2>\n<p>Les codes ci-dessus couvrent presque tout ce qui d\u00e9clenche une alerte r\u00e9elle. Pour les plus rares \u2014 les codes qui apparaissent une fois par trimestre et vous obligent \u00e0 chercher \u2014 voici la liste compl\u00e8te standard, plus les codes non standard que vous verrez chez les fournisseurs d\u2019infrastructure courants.<\/p>\n<h3 id='1xx-informationnel'  id=\"boomdevs_21\">1xx Informationnel<\/h3>\n<p>Le serveur a re\u00e7u la requ\u00eate et continue de la traiter. Vous verrez rarement ces codes dans les journaux d\u2019application car la plupart des clients et proxies les g\u00e8rent de mani\u00e8re transparente.<\/p>\n<div class=\"table-wrap\">\n<table>\n<thead>\n<tr>\n<th>Code<\/th>\n<th>Signification<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>100<\/td>\n<td>Continue<\/td>\n<\/tr>\n<tr>\n<td>101<\/td>\n<td>Changement de protocole<\/td>\n<\/tr>\n<tr>\n<td>102<\/td>\n<td>En traitement<\/td>\n<\/tr>\n<tr>\n<td>103<\/td>\n<td>Indices pr\u00e9coces<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3 id='2xx-succ\u00e8s'  id=\"boomdevs_22\">2xx Succ\u00e8s<\/h3>\n<p>La requ\u00eate a \u00e9t\u00e9 re\u00e7ue, comprise et accept\u00e9e. 200 est la valeur de r\u00e9f\u00e9rence ; les autres importent lorsque vous construisez des API ou travaillez avec des contenus partiels, WebDAV ou des op\u00e9rations par lots.<\/p>\n<div class=\"table-wrap\">\n<table>\n<thead>\n<tr>\n<th>Code<\/th>\n<th>Signification<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>200<\/td>\n<td>OK<\/td>\n<\/tr>\n<tr>\n<td>201<\/td>\n<td>Cr\u00e9\u00e9<\/td>\n<\/tr>\n<tr>\n<td>202<\/td>\n<td>Accept\u00e9<\/td>\n<\/tr>\n<tr>\n<td>203<\/td>\n<td>Information non autoritaire<\/td>\n<\/tr>\n<tr>\n<td>204<\/td>\n<td>Pas de contenu<\/td>\n<\/tr>\n<tr>\n<td>205<\/td>\n<td>R\u00e9initialiser le contenu<\/td>\n<\/tr>\n<tr>\n<td>206<\/td>\n<td>Contenu partiel<\/td>\n<\/tr>\n<tr>\n<td>207<\/td>\n<td>Multi-Statut<\/td>\n<\/tr>\n<tr>\n<td>208<\/td>\n<td>D\u00e9j\u00e0 rapport\u00e9<\/td>\n<\/tr>\n<tr>\n<td>226<\/td>\n<td>IM utilis\u00e9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3 id='3xx-redirection'  id=\"boomdevs_23\">3xx Redirection<\/h3>\n<p>La ressource se trouve ailleurs, ou la copie mise en cache est toujours valide. 301 et 302 dominent ; les autres sont importants pour les API (307\/308 conservent la m\u00e9thode HTTP) et les pipelines de mise en cache (304 \u00e9conomise la bande passante d\u2019origine).<\/p>\n<div class=\"table-wrap\">\n<table>\n<thead>\n<tr>\n<th>Code<\/th>\n<th>Signification<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>300<\/td>\n<td>Choix multiples<\/td>\n<\/tr>\n<td>301<\/td>\n<td>D\u00e9plac\u00e9 de fa\u00e7on permanente<\/td>\n<\/tr>\n<tr>\n<td>302<\/td>\n<td>Trouv\u00e9<\/td>\n<\/tr>\n<tr>\n<td>303<\/td>\n<td>Voir autre<\/td>\n<\/tr>\n<tr>\n<td>304<\/td>\n<td>Non modifi\u00e9<\/td>\n<\/tr>\n<tr>\n<td>305<\/td>\n<td>Utiliser un proxy (obsol\u00e8te)<\/td>\n<\/tr>\n<tr>\n<td>306<\/td>\n<td>Changer de proxy (non utilis\u00e9)<\/td>\n<\/tr>\n<tr>\n<td>307<\/td>\n<td>Redirection temporaire<\/td>\n<\/tr>\n<tr>\n<td>308<\/td>\n<td>Redirection permanente<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3 id='erreurs-4xx-client'  id=\"boomdevs_24\">Erreurs 4xx Client<\/h3>\n<p>La requ\u00eate \u00e9tait incorrecte. La plupart de celles-ci, vous ne les verrez jamais ; une demi-douzaine de codes courants apparaissent quotidiennement. Il vaut la peine de savoir que les rares existent pour ne pas perdre de temps \u00e0 deviner lorsqu&#8217;un 418 ou 451 appara\u00eet dans un journal.<\/p>\n<div class=\"table-wrap\">\n<table>\n<thead>\n<tr>\n<th>Code<\/th>\n<th>Signification<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>400<\/td>\n<td>Mauvaise requ\u00eate<\/td>\n<\/tr>\n<tr>\n<td>401<\/td>\n<td>Non autoris\u00e9<\/td>\n<\/tr>\n<tr>\n<td>402<\/td>\n<td>Paiement requis<\/td>\n<\/tr>\n<tr>\n<td>403<\/td>\n<td>Interdit<\/td>\n<\/tr>\n<tr>\n<td>404<\/td>\n<td>Non trouv\u00e9<\/td>\n<\/tr>\n<tr>\n<td>405<\/td>\n<td>M\u00e9thode non autoris\u00e9e<\/td>\n<\/tr>\n<tr>\n<td>406<\/td>\n<td>Non acceptable<\/td>\n<\/tr>\n<tr>\n<td>407<\/td>\n<td>Authentification proxy requise<\/td>\n<\/tr>\n<tr>\n<td>408<\/td>\n<td>D\u00e9lai de la requ\u00eate d\u00e9pass\u00e9<\/td>\n<\/tr>\n<tr>\n<td>409<\/td>\n<td>Conflit<\/td>\n<\/tr>\n<tr>\n<td>410<\/td>\n<td>Parti<\/td>\n<\/tr>\n<tr>\n<td>411<\/td>\n<td>Longueur requise<\/td>\n<\/tr>\n<tr>\n<td>412<\/td>\n<td>Pr\u00e9condition \u00e9chou\u00e9e<\/td>\n<\/tr>\n<tr>\n<td>413<\/td>\n<td>Charge utile trop grande<\/td>\n<\/tr>\n<tr>\n<td>414<\/td>\n<td>URI trop longue<\/td>\n<\/tr>\n<tr>\n<td>415<\/td>\n<td>Type de m\u00e9dia non support\u00e9<\/td>\n<\/tr>\n<tr>\n<td>416<\/td>\n<td>Plage non satisfaisante<\/td>\n<\/tr>\n<tr>\n<td>417<\/td>\n<td>Attente \u00e9chou\u00e9e<\/td>\n<\/tr>\n<tr>\n<td>418<\/td>\n<td>Je suis une th\u00e9i\u00e8re<\/td>\n<\/tr>\n<tr>\n<td>421<\/td>\n<td>Requ\u00eate mal dirig\u00e9e<\/td>\n<\/tr>\n<tr>\n<td>422<\/td>\n<td>Contenu non traitable<\/td>\n<\/tr>\n<tr>\n<td>423<\/td>\n<td>Verrouill\u00e9<\/td>\n<\/tr>\n<tr>\n<td>424<\/td>\n<td>D\u00e9pendance \u00e9chou\u00e9e<\/td>\n<\/tr>\n<tr>\n<td>425<\/td>\n<td>Trop t\u00f4t<\/td>\n<\/tr>\n<tr>\n<td>426<\/td>\n<td>Mise \u00e0 niveau requise<\/td>\n<\/tr>\n<tr>\n<td>428<\/td>\n<td>Pr\u00e9condition requise<\/td>\n<\/tr>\n<tr>\n<td>429<\/td>\n<td>Trop de requ\u00eates<\/td>\n<\/tr>\n<tr>\n<td>431<\/td>\n<td>Champs d&#8217;en-t\u00eate de requ\u00eate trop volumineux<\/td>\n<\/tr>\n<tr>\n<td>451<\/td>\n<td>Indisponible pour des raisons l\u00e9gales<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3 id='erreurs-5xx-serveur'  id=\"boomdevs_25\">Erreurs 5xx Serveur<\/h3>\n<p>La requ\u00eate \u00e9tait correcte. Quelque chose a \u00e9chou\u00e9 c\u00f4t\u00e9 serveur. Ce sont les codes les plus susceptibles de r\u00e9veiller quelqu&#8217;un.<\/p>\n<div class=\"table-wrap\">\n<table>\n<thead>\n<tr>\n<th>Code<\/th>\n<th>Signification<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>500<\/td>\n<td>Erreur interne du serveur<\/td>\n<\/tr>\n<tr>\n<td>501<\/td>\n<td>Non impl\u00e9ment\u00e9<\/td>\n<\/tr>\n<tr>\n<td>502<\/td>\n<td>Mauvaise passerelle<\/td>\n<\/tr>\n<tr>\n<td>503<\/td>\n<td>Service indisponible<\/td>\n<\/tr>\n<tr>\n<td>504<\/td>\n<td>D\u00e9lai d&#8217;attente de la passerelle d\u00e9pass\u00e9<\/td>\n<\/tr>\n<tr>\n<td>505<\/td>\n<td>Version HTTP non support\u00e9e<\/td>\n<\/tr>\n<tr>\n<td>506<\/td>\n<td>Variante Aaussi N\u00e9gocie<\/td>\n<\/tr>\n<tr>\n<td>507<\/td>\n<td>Stockage insuffisant<\/td>\n<\/tr>\n<tr>\n<td>508<\/td>\n<td>Boucle d\u00e9tect\u00e9e<\/td>\n<\/tr>\n<tr>\n<td>510<\/td>\n<td>Non \u00e9tendu<\/td>\n<\/tr>\n<tr>\n<td>511<\/td>\n<td>Authentification r\u00e9seau requise<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3 id='codes-non-standard-et-codes-fournisseurs'  id=\"boomdevs_26\">Codes non standard et codes fournisseurs<\/h3>\n<p>Cloudflare, Nginx, Microsoft, et Akamai renvoient tous des codes hors de la sp\u00e9cification officielle lorsque leur couche d&#8217;infrastructure \u00e9choue. Ce sont ceux \u00e0 reconna\u00eetre imm\u00e9diatement car ils indiquent que l\u2019\u00e9chec se situe au niveau de la p\u00e9riph\u00e9rie, pas \u00e0 votre origine.<\/p>\n<div class=\"table-wrap\">\n<table>\n<thead>\n<tr>\n<th>Code<\/th>\n<th>Signification<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>419<\/td>\n<td>D\u00e9lai d&#8217;authentification d\u00e9pass\u00e9<\/td>\n<\/tr>\n<tr>\n<td>420<\/td>\n<td>Calmez-vous \/ \u00c9chec de la m\u00e9thode<\/td>\n<\/tr>\n<tr>\n<td>440<\/td>\n<td>D\u00e9lai de connexion d\u00e9pass\u00e9 (Microsoft)<\/td>\n<\/tr>\n<tr>\n<td>444<\/td>\n<td>Pas de r\u00e9ponse (Nginx)<\/td>\n<\/tr>\n<tr>\n<td>449<\/td>\n<td>R\u00e9essayez avec (Microsoft)<\/td>\n<\/tr>\n<tr>\n<td>450<\/td>\n<td>Bloqu\u00e9 par les contr\u00f4les parentaux Windows<\/td>\n<\/tr>\n<tr>\n<td>460<\/td>\n<td>Connexion client ferm\u00e9e<\/td>\n<\/tr>\n<tr>\n<td>494<\/td>\n<td>En-t\u00eate de la requ\u00eate trop large (Nginx)<\/td>\n<\/tr>\n<tr>\n<td>495<\/td>\n<td>Erreur de certificat SSL (Nginx)<\/td>\n<\/tr>\n<tr>\n<td>496<\/td>\n<td>Certificat SSL requis (Nginx)<\/td>\n<\/tr>\n<tr>\n<td>497<\/td>\n<td>Requ\u00eate HTTP envoy\u00e9e au port HTTPS<\/td>\n<\/tr>\n<tr>\n<td>498<\/td>\n<td>Jeton invalide<\/td>\n<\/tr>\n<tr>\n<td>499<\/td>\n<td>Requ\u00eate client ferm\u00e9e (Nginx)<\/td>\n<\/tr>\n<tr>\n<td>509<\/td>\n<td>Limite de bande passante d\u00e9pass\u00e9e<\/td>\n<\/tr>\n<tr>\n<td>520<\/td>\n<td>Erreur inconnue (Cloudflare)<\/td>\n<\/tr>\n<tr>\n<td>521<\/td>\n<td>Serveur Web indisponible (Cloudflare)<\/td>\n<\/tr>\n<tr>\n<td>522<\/td>\n<td>D\u00e9lai de connexion d\u00e9pass\u00e9 (Cloudflare)<\/td>\n<\/tr>\n<tr>\n<td>523<\/td>\n<td>Origine inaccessible (Cloudflare)<\/td>\n<\/tr>\n<tr>\n<td>524<\/td>\n<td>Un d\u00e9lai est survenu (Cloudflare)<\/td>\n<\/tr>\n<tr>\n<td>525<\/td>\n<td>\u00c9chec de la n\u00e9gociation SSL (Cloudflare)<\/td>\n<\/tr>\n<tr>\n<td>526<\/td>\n<td>Certificat SSL invalide (Cloudflare)<\/td>\n<\/tr>\n<tr>\n<td>527<\/td>\n<td>Erreur Railgun (Cloudflare)<\/td>\n<\/tr>\n<tr>\n<td>529<\/td>\n<td>Site surcharg\u00e9<\/td>\n<\/tr>\n<tr>\n<td>530<\/td>\n<td>Site gel\u00e9 \/ Erreur DNS d&#8217;origine<\/td>\n<\/tr>\n<tr>\n<td>561<\/td>\n<td>Non autoris\u00e9 (Akamai)<\/td>\n<\/tr>\n<tr>\n<td>598<\/td>\n<td>D\u00e9lai de lecture r\u00e9seau d\u00e9pass\u00e9<\/td>\n<\/tr>\n<tr>\n<td>599<\/td>\n<td>D\u00e9lai de connexion r\u00e9seau d\u00e9pass\u00e9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Les plages de codes non list\u00e9es ci-dessus (104-199, 209-225, 227-299, 309-399, 432-450, 452-499, 512-599) sont soit non attribu\u00e9es, obsol\u00e8tes, ou r\u00e9serv\u00e9es \u00e0 un usage fournisseur. Traitez tout code dans ces plages comme sp\u00e9cifique au fournisseur et v\u00e9rifiez la documentation de votre infrastructure.<\/p>\n<h3 id='les-codes-sur-lesquels-votre-surveillance-devrait-vraiment-alerter'  id=\"boomdevs_27\">Les codes sur lesquels votre surveillance devrait vraiment alerter<\/h3>\n<p>Parmi plus de 60 codes list\u00e9s ci-dessus, ceux qui d\u00e9clenchent des seuils d&#8217;alerte dans la plupart des environnements de production sont beaucoup plus restreints :<\/p>\n<ul>\n<li><strong>200<\/strong> \u2014 comme ratio de r\u00e9f\u00e9rence. Une chute soudaine signifie qu\u2019il y a un autre probl\u00e8me.<\/li>\n<li><strong>301, 302, 307, 308<\/strong>\u2014comptes de redirection. Des pics peuvent signifier un routage mal configur\u00e9 ou un d\u00e9ploiement ayant cass\u00e9 les URL canoniques.<\/li>\n<li><strong>400<\/strong>\u2014requ\u00eates mal form\u00e9es. Habituellement un changement c\u00f4t\u00e9 consommateur.<\/li>\n<li><strong>401, 403<\/strong>\u2014\u00e9checs d\u2019authentification et d\u2019autorisation. Souvent un changement de jeton, IAM ou WAF.<\/li>\n<li><strong>404<\/strong>\u2014ressources manquantes. Bruit de fond comme cas isol\u00e9s ; un probl\u00e8me de version en rafales.<\/li>\n<li><strong>408<\/strong>\u2014temps d\u2019attente c\u00f4t\u00e9 client. Il vaut la peine d\u2019alerter \u00e0 des taux soutenus ; signale des appels en aval lents.<\/li>\n<li><strong>429<\/strong>\u2014limitation de d\u00e9bit. Soit vous \u00eates limit\u00e9, soit votre limite est trop agressive.<\/li>\n<li><strong>500, 502, 503, 504<\/strong>\u2014\u00e9checs d\u2019application, en amont, de capacit\u00e9 et de passerelle. Ces codes d\u00e9clenchent une alerte d\u2019astreinte.<\/li>\n<li><strong>520-526<\/strong>\u2014\u00e9checs au niveau du edge Cloudflare. Si vous \u00eates derri\u00e8re Cloudflare, ceux-ci sont des signaux critiques parce qu\u2019ils isolent l\u2019\u00e9chec au chemin edge-vers-origin.<\/li>\n<\/ul>\n<p>Tout le reste m\u00e9rite d\u2019\u00eatre enregistr\u00e9 mais rarement de r\u00e9veiller quelqu\u2019un pour cela.<\/p>\n<h2 id='comment-v\u00e9rifier-le-code-d-\u00e9tat-http-d-une-page'  id=\"boomdevs_28\">Comment v\u00e9rifier le code d\u2019\u00e9tat HTTP d\u2019une page<\/h2>\n<p>Avant de pouvoir agir sur un code, vous devez le voir. Trois m\u00e9thodes, de la plus rapide \u00e0 la plus compl\u00e8te.<\/p>\n<h3 id='dans-chrome-devtools'  id=\"boomdevs_29\">Dans Chrome DevTools<\/h3>\n<ol>\n<li>Ouvrez la page.<\/li>\n<li>Cliquez droit n\u2019importe o\u00f9 et choisissez Inspecter, puis ouvrez l\u2019onglet R\u00e9seau.<\/li>\n<li>Rechargez. La premi\u00e8re requ\u00eate de document affiche le code dans la colonne Statut.<\/li>\n<\/ol>\n<h3 id='depuis-la-ligne-de-commande'  id=\"boomdevs_30\">Depuis la ligne de commande<\/h3>\n<p>Une requ\u00eate en-t\u00eate seulement renvoie la ligne de statut sans t\u00e9l\u00e9charger le corps :<\/p>\n<pre><code>c url -I https:\/\/example.com<\/code><\/pre>\n<p>La premi\u00e8re ligne de la r\u00e9ponse est le code d\u2019\u00e9tat \u2014 par exemple, <code>HTTP\/2 200<\/code>.<\/p>\n<h3 id='\u00e0-grande-\u00e9chelle'  id=\"boomdevs_31\">\u00c0 grande \u00e9chelle<\/h3>\n<p>Les v\u00e9rifications ponctuelles indiquent l\u2019\u00e9tat actuel. Elles ne d\u00e9tectent pas la panne qui survient \u00e0 3 h du matin et dispara\u00eet avant votre r\u00e9veil. Pour saisir les pannes intermittentes, vous avez besoin de contr\u00f4les programm\u00e9s depuis plusieurs r\u00e9gions \u2014 ce que fait la <a href=\"https:\/\/www.dotcom-monitor.com\/fr\/solutions\/synthetic-monitoring\/\">surveillance synth\u00e9tique<\/a>.<\/p>\n<h2 id='quand-un-200-ok-ment'  id=\"boomdevs_32\">Quand un 200 OK Ment<\/h2>\n<p>Une \u00e9quipe e-commerce re\u00e7oit une alerte \u00e0 11 h un mardi. La conversion a chut\u00e9 de 80 %. Ils consultent leur tableau de bord de disponibilit\u00e9. Chaque point de terminaison est vert. Tous les codes d\u2019\u00e9tat sont 200. Chaque r\u00e9gion rapporte que le site est en ligne.<\/p>\n<p>Le site n\u2019est pas en ligne. Un d\u00e9ploiement 40 minutes plus t\u00f4t a livr\u00e9 un bundle JavaScript qui plante sur la page de paiement. Le HTML s\u2019affiche, le serveur renvoie 200, le moniteur de code de statut voit 200, aucune alerte ne se d\u00e9clenche. Les utilisateurs voient un panier vide et quittent le site.<\/p>\n<p>C\u2019est le mode de d\u00e9faillance que la simple surveillance par code de statut ne peut pas d\u00e9tecter. La solution est multiple :<\/p>\n<ul>\n<li><strong>Effectuer des v\u00e9rifications en vrai navigateur<\/strong> sur les parcours utilisateurs critiques \u2014 accueil, recherche, produit, panier, paiement. Les vrais navigateurs ex\u00e9cutent le JavaScript et r\u00e9v\u00e8lent les erreurs c\u00f4t\u00e9 client qu\u2019un contr\u00f4le de type curl ne voit pas.<\/li>\n<li><strong>Surveiller les signaux au niveau du corps<\/strong> : pr\u00e9sence de mots-cl\u00e9s, visibilit\u00e9 des \u00e9l\u00e9ments, structure de r\u00e9ponse attendue. Ne faites pas confiance au code de statutseul.<\/li>\n<li><strong>Lier les d\u00e9ploiements \u00e0 la surveillance<\/strong> : toute v\u00e9rification qui passe du vert au rouge dans les 15 minutes suivant une mise en production doit automatiquement \u00e9tiqueter le d\u00e9ploiement. La moiti\u00e9 du temps post-mortem est consacr\u00e9e \u00e0 comprendre ce qui a chang\u00e9 ; le syst\u00e8me de surveillance le sait d\u00e9j\u00e0.<\/li>\n<\/ul>\n<h3 id='qu-est-ce-qu-un-soft-404'  id=\"boomdevs_33\">Qu&#8217;est-ce qu&#8217;un Soft 404 ?<\/h3>\n<p>Une version de ce probl\u00e8me a un nom : le soft 404. Un soft 404 est une page qui retourne 200 OK tout en indiquant \u00e0 l&#8217;utilisateur que le contenu n&#8217;existe pas\u2014un message &#8220;page non trouv\u00e9e&#8221; servi avec un code de succ\u00e8s. La recommandation de Google est de retourner un vrai 404 ou 410 \u00e0 la place, car les soft 404 gaspillent le budget d&#8217;exploration et perturbent l&#8217;index sur la r\u00e9alit\u00e9 des pages.<\/p>\n<p>La surveillance pure des codes d&#8217;\u00e9tat ne d\u00e9tectera pas un soft 404, pour la m\u00eame raison qu&#8217;elle rate un paiement cass\u00e9 : le code indique 200. Les v\u00e9rifications dans un vrai navigateur avec des assertions sur le contenu\u2014cherchant le contenu attendu ou l&#8217;absence d&#8217;une cha\u00eene &#8220;non trouv\u00e9&#8221;\u2014le feront.<\/p>\n<h2 id='comment-les-codes-d-\u00e9tat-http-affectent-le-seo'  id=\"boomdevs_34\">Comment les Codes d&#8217;\u00c9tat HTTP Affectent le SEO<\/h2>\n<p>Les moteurs de recherche utilisent les codes d&#8217;\u00e9tat pour d\u00e9cider quoi explorer, quoi indexer, et \u00e0 quelle fr\u00e9quence revenir. Trois sch\u00e9mas comptent :<\/p>\n<ul>\n<li><strong>Les codes 4xx \u00e9rodent l&#8217;index au fil du temps.<\/strong> Une page qui retourne 404 pendant plusieurs tentatives d&#8217;exploration est supprim\u00e9e. Si vous supprimez une page, redirigez-la avec un 301 au lieu de la laisser en 404.<\/li>\n<li><strong>Les codes 5xx ralentissent l&#8217;exploration et d\u00e9gradent les classements.<\/strong> Googlebot interpr\u00e8te un 5xx persistant comme &#8220;ce site est en mauvaise sant\u00e9&#8221;. Le taux d&#8217;exploration diminue, l&#8217;indexation ralentit, les classements peuvent chuter.<\/li>\n<li><strong>La diff\u00e9rence entre 301 et 302 est importante.<\/strong> Le 301 passe l&#8217;\u00e9quit\u00e9 des liens. Le 302 est trait\u00e9 comme temporaire et peut ne pas le faire. Si le d\u00e9placement est permanent, choisissez 301.<\/li>\n<\/ul>\n<p>Le conseil pratique : les erreurs 5xx ne sont pas seulement un probl\u00e8me de disponibilit\u00e9. Elles sont un probl\u00e8me SEO qui s&#8217;aggrave avec le temps. <a href=\"https:\/\/www.dotcom-monitor.com\/blog\/fr\/website-monitoring-errors-dns-tcp-tls-http\/\">Les erreurs DNS, TCP, TLS et HTTP<\/a> ont chacune un co\u00fbt SEO diff\u00e9rent\u2014savoir quelle couche \u00e9choue vous aide \u00e0 trier plus rapidement.<\/p>\n<figure id=\"attachment_33963\" aria-describedby=\"caption-attachment-33963\" style=\"width: 1536px\" class=\"wp-caption alignnone\"><img decoding=\"async\" class=\"size-full wp-image-33963\" src=\"https:\/\/www.dotcom-monitor.com\/blog\/wp-content\/uploads\/sites\/3\/2024\/12\/triage-flowchart.webp\" alt=\"Diagramme de d\u00e9cision pour le triage des alertes de codes d'\u00e9tat HTTP\u2014quelle couche v\u00e9rifier en premier, quand appeler le support, quand revenir sur un d\u00e9ploiement\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/www.dotcom-monitor.com\/blog\/wp-content\/uploads\/sites\/3\/2024\/12\/triage-flowchart.webp 1536w, https:\/\/www.dotcom-monitor.com\/blog\/wp-content\/uploads\/sites\/3\/2024\/12\/triage-flowchart-300x200.webp 300w, https:\/\/www.dotcom-monitor.com\/blog\/wp-content\/uploads\/sites\/3\/2024\/12\/triage-flowchart-1024x683.webp 1024w, https:\/\/www.dotcom-monitor.com\/blog\/wp-content\/uploads\/sites\/3\/2024\/12\/triage-flowchart-768x512.webp 768w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><figcaption id=\"caption-attachment-33963\" class=\"wp-caption-text\">Un chemin de triage simple du code d&#8217;\u00e9tat \u00e0 la premi\u00e8re \u00e9tape d&#8217;investigation.<\/figcaption><\/figure>\n<h2 id='surveiller-les-codes-d-\u00e9tat-http-sans-\u00eatre-submerg\u00e9-d-alertes'  id=\"boomdevs_35\">Surveiller les Codes d&#8217;\u00c9tat HTTP Sans \u00catre Submerg\u00e9 d&#8217;Alertes<\/h2>\n<p>Chaque \u00e9quipe qui surveille le trafic HTTP rencontre finalement le m\u00eame probl\u00e8me : trop d&#8217;alertes, pas assez d&#8217;informations pertinentes. Quelques pratiques permettent de garder la surveillance des codes d&#8217;\u00e9tat utile plut\u00f4t que bruyante.<\/p>\n<p><strong>Alerter sur des taux, pas sur des requ\u00eates uniques.<\/strong> Un 500 est du bruit. Cinquante 500 en cinq minutes, c&#8217;est un incident. Configurez des seuils selon votre volume de trafic de r\u00e9f\u00e9rence.<\/p>\n<p><strong>S\u00e9parez les points d&#8217;entr\u00e9e face utilisateur des internes.<\/strong> Un 500 sur l&#8217;API de paiement doit d\u00e9clencher une alerte. Un 500 sur un point d&#8217;entr\u00e9e admin que personne n&#8217;utiliseg peut attendre les heures d&#8217;ouverture.<\/p>\n<p><strong>Testez d&#8217;o\u00f9 viennent vos utilisateurs.<\/strong> Un contr\u00f4le depuis un seul centre de donn\u00e9es ne d\u00e9tectera pas une panne r\u00e9gionale de CDN. Utilisez un r\u00e9seau de surveillance avec plusieurs g\u00e9ographies pour rep\u00e9rer les probl\u00e8mes sp\u00e9cifiques \u00e0 une localisation avant que les clients ne les rencontrent.<\/p>\n<p><strong>Combinez les v\u00e9rifications de statut avec les v\u00e9rifications de contenu.<\/strong> Le code 200 OK est un point de d\u00e9part, pas une ligne d&#8217;arriv\u00e9e. Validez que la r\u00e9ponse contient ce qu&#8217;elle doit contenir.<\/p>\n<p>La <a href=\"https:\/\/www.dotcom-monitor.com\/fr\/produits-de-surveillance\/surveillance-des-applications-web\/\">surveillance des applications web<\/a> de Dotcom-Monitor g\u00e8re les quatre aspects : alertes bas\u00e9es sur le taux, segmentation des points de terminaison, emplacements mondiaux de surveillance et v\u00e9rifications de contenu en navigateur r\u00e9el. Pour les piles fortement orient\u00e9es API, la <a href=\"https:\/\/www.dotcom-monitor.com\/fr\/produits-de-surveillance\/web-api-monitoring\/\">surveillance API<\/a> ajoute la validation de sch\u00e9ma et des SLO de temps de r\u00e9ponse en plus des contr\u00f4les de code de statut. Les deux alimentent le m\u00eame pipeline <a href=\"https:\/\/www.dotcom-monitor.com\/fr\/fonctionnalites\/fonctionnalites-alertes\/\">d&#8217;alerte<\/a> pour que vous n\u2019ayez pas \u00e0 assembler des signaux de trois fournisseurs diff\u00e9rents.<\/p>\n<h2 id='conclusion'  id=\"boomdevs_36\">Conclusion<\/h2>\n<p>Les codes d&#8217;\u00e9tat HTTP les plus courants n&#8217;ont pas chang\u00e9 depuis des ann\u00e9es. 200, 301, 404, 500, 502, 503 \u2014 vous les verrez tous cette semaine. Ce qui change, c\u2019est la rapidit\u00e9 avec laquelle votre \u00e9quipe passe de \u00ab a vu le code \u00bb \u00e0 \u00ab a corrig\u00e9 la cause \u00bb.<\/p>\n<p>C\u2019est cet \u00e9cart o\u00f9 une bonne surveillance fait la diff\u00e9rence. Les codes d&#8217;\u00e9tat seuls vous indiquent qu&#8217;une chose s&#8217;est produite. Des v\u00e9rifications en couches \u2014 statut, contenu, navigateur r\u00e9el, multi-r\u00e9gions \u2014 vous disent quoi, o\u00f9, et quoi faire ensuite.<\/p>\n<p>Si vous voulez voir \u00e0 quoi cela ressemble, <a href=\"https:\/\/www.dotcom-monitor.com\/\">Dotcom-Monitor<\/a> propose un essai gratuit. Pointez-le vers un de vos points de terminaison et voyez ce qu\u2019il r\u00e9v\u00e8le.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Une r\u00e9f\u00e9rence pratique pour les ing\u00e9nieurs qui sont appel\u00e9s lorsque ces codes apparaissent.<\/p>\n","protected":false},"author":21,"featured_media":33972,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3446],"tags":[],"class_list":["post-13766","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-non-classifiee"],"_links":{"self":[{"href":"https:\/\/www.dotcom-monitor.com\/blog\/fr\/wp-json\/wp\/v2\/posts\/13766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dotcom-monitor.com\/blog\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dotcom-monitor.com\/blog\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dotcom-monitor.com\/blog\/fr\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dotcom-monitor.com\/blog\/fr\/wp-json\/wp\/v2\/comments?post=13766"}],"version-history":[{"count":0,"href":"https:\/\/www.dotcom-monitor.com\/blog\/fr\/wp-json\/wp\/v2\/posts\/13766\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dotcom-monitor.com\/blog\/fr\/wp-json\/wp\/v2\/media\/33972"}],"wp:attachment":[{"href":"https:\/\/www.dotcom-monitor.com\/blog\/fr\/wp-json\/wp\/v2\/media?parent=13766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dotcom-monitor.com\/blog\/fr\/wp-json\/wp\/v2\/categories?post=13766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dotcom-monitor.com\/blog\/fr\/wp-json\/wp\/v2\/tags?post=13766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}