Qu'est-ce qu'un code de statut HTTP ?

Un code d'état HTTP est une réponse à trois chiffres envoyée par un serveur web pour indiquer le résultat de la requête d'un client. Il permet tant aux navigateurs qu'aux développeurs de savoir si une requête a abouti, a échoué ou nécessite une action supplémentaire.

Chaque fois qu'un client (tel qu'un navigateur, une API ou un proxy) envoie une requête à un serveur web, celui-ci répond par un code d'état qui décrit la manière dont il a traité cette requête.

Ces codes sont regroupés en cinq catégories principales en fonction de leur premier chiffre :

  • 1xx — À titre d'information : Votre demande a bien été reçue et est en cours de traitement.
  • 2xx — Réussite : La demande a été reçue, comprise et acceptée avec succès.
  • 3xx — Redirection : Le client doit effectuer une action supplémentaire pour finaliser la demande.
  • 4xx — Erreurs côté client : La requête présente une erreur de syntaxe ou ne peut être traitée.
  • 5xx — Erreurs de serveur : Le serveur n'a pas pu répondre à une requête valide.

Pour les utilisateurs de proxy, ces codes fournissent des informations essentielles permettant de déterminer si un problème de connexion provient du proxy, du site web cible ou du réseau intermédiaire.

1xx – Informations

Code d'étatDéfinitionÉtapes suivantes
100 ContinuerLa première partie d'une requête a été reçue, et le client doit poursuivre la requête.Poursuivez l'envoi de la demande.
101 Protocoles de commutationLe serveur passe à un autre protocole, conformément à la demande du client.Vérifiez que le client prend en charge le nouveau protocole.
102 TraitementLe serveur a reçu la requête et est en train de la traiter, mais aucune réponse n'est encore disponible.Veuillez patienter jusqu'à ce que le serveur ait terminé le traitement.
103 Premiers indicesFournit des informations préliminaires sur la requête, généralement dans le but d'optimiser le chargement.Suivez ces conseils pour améliorer les performances ou l'expérience utilisateur.

2xx - Réussite

Code d'étatDéfinitionÉtapes suivantes
200 OKLa requête a abouti et le serveur a renvoyé la ressource demandée.Aucune action n'est requise ; la requête a abouti.
201 CrééLa requête a été traitée, ce qui a entraîné la création d'une nouvelle ressource.Aucune action n'est requise ; une nouvelle ressource a été créée.
202 AcceptéLa demande a été acceptée pour traitement, mais celui-ci n'est pas encore terminé.Veuillez patienter jusqu'à la fin du traitement ; vérifiez s'il y a des mises à jour, le cas échéant.
203 Informations non officiellesLa requête a abouti, mais il se peut que les métadonnées renvoyées ne proviennent pas du serveur d'origine.Vérifiez les données renvoyées afin de vous assurer qu'elles répondent aux exigences.
204 Contenu manquantLa requête a abouti, mais la réponse ne contient aucun contenu.Aucune action n'est requise ; la requête a abouti, mais il n'y a pas de contenu à afficher.
205 Réinitialiser le contenuLa requête a abouti, et le client doit actualiser la page.Rétablissez l'affichage du document ou du formulaire à son état d'origine.
206 Contenu partielLe serveur renvoie un contenu partiel de la ressource demandée, généralement en raison d'un en-tête « range ».Continuez à demander du contenu supplémentaire si nécessaire ; vérifiez les données reçues.

3xx – Redirection

Code d'étatDéfinitionÉtapes suivantes
300 questions à choix multiplesLa requête peut donner lieu à plusieurs réponses possibles. L'utilisateur ou le client doit en choisir une.Choisissez l'une des options proposées ou précisez davantage votre demande.
301 Déplacé de manière permanenteLa ressource demandée a été déplacée vers une nouvelle URL ; toutes les requêtes futures devront utiliser cette nouvelle URL.Mettez à jour vos signets ou vos références afin d'utiliser la nouvelle URL.
302 TrouvéLa ressource demandée se trouve temporairement à une autre URL, mais le client doit continuer à utiliser l'URL d'origine pour ses prochaines requêtes.Suivez l'URL temporaire, mais continuez à utiliser l'URL d'origine pour vos futures requêtes.
303 Voir d'autresLa réponse à la requête est accessible via une autre URL à l'aide de la méthode GET.Envoyez une requête GET à l'URL indiquée pour récupérer la ressource.
304 Non modifiéLa ressource n'a pas été modifiée depuis la dernière requête, et le client peut utiliser la version mise en cache.Utilisez la version mise en cache de la ressource.
305 Utiliser un proxyL'accès à la ressource demandée doit se faire via le proxy indiqué dans la réponse.Renvoyez la requête en utilisant le proxy indiqué.
307 Redirection temporaireLa ressource demandée se trouve temporairement à une autre URL ; le client doit suivre cette URL pour cette requête.Veuillez suivre l'URL temporaire pour cette requête, mais utilisez l'URL d'origine pour les requêtes futures.
308 Redirection permanenteLa ressource demandée a été définitivement déplacée vers une nouvelle URL ; veuillez utiliser cette nouvelle URL pour toutes vos futures requêtes.Mettez à jour toutes les références afin d'utiliser la nouvelle URL.

4xx – Erreur côté client

Code d'étatDéfinitionÉtapes suivantes
400 Demande incorrecteLe serveur ne peut pas traiter la requête en raison d'une erreur côté client (par exemple, une syntaxe de requête incorrecte).Vérifiez la syntaxe et les paramètres de la requête, puis réessayez.
401 Accès non autoriséUne authentification est requise pour accéder à la ressource demandée.Veuillez fournir des identifiants d'authentification valides, puis réessayez.
402 Paiement requisRéservé à un usage futur ; indique généralement que l'accès à la ressource est payant.Le cas échéant, procédez au paiement.
403 Accès interditLe serveur comprend la requête mais refuse de l'autoriser.Assurez-vous de disposer des autorisations nécessaires pour accéder à la ressource.
404 Page introuvableLe serveur ne parvient pas à trouver la ressource demandée.Vérifiez si l'URL contient des erreurs ou essayez de rechercher la ressource.
Méthode 405 non autoriséeLa méthode de requête n'est pas prise en charge pour la ressource demandée.Vérifiez que la méthode HTTP appropriée (GET, POST, etc.) est bien utilisée.
406 Non acceptableLe serveur ne peut pas générer de réponse conforme aux en-têtes « Accept » du client.Modifiez les en-têtes de la requête afin d'accepter un format de réponse valide.
407 Authentification par proxy requiseLe client doit d'abord s'authentifier auprès du proxy.Veuillez fournir des identifiants d'authentification proxy valides.
Dépassement du délai de la requête 408Le serveur a dépassé le délai d'attente de la requête.Renvoyez la requête en veillant à ce qu'elle soit envoyée dans le délai autorisé par le serveur.
409 ConflitLa requête n'a pas pu être traitée en raison d'un conflit avec l'état actuel de la ressource.Résolvez le conflit avant de réessayer la requête.
410 GoneLa ressource demandée n'est plus disponible et ne le sera plus.Veuillez supprimer ou mettre à jour les références à cette ressource, car elle a été définitivement supprimée.
Longueur requise : 411Le serveur exige que l'en-tête « Content-Length » figure dans la requête.Ajoutez l'en-tête « Content-Length » à la requête et réessayez.
412 Échec de la condition préalableLe serveur ne remplit pas l'une des conditions préalables spécifiées dans les en-têtes de la requête.Vérifiez les conditions préalables dans les en-têtes de requête et modifiez-les si nécessaire.
413 Charge utile trop volumineuseL'entité de la requête est trop volumineuse pour que le serveur puisse ou veuille la traiter.Réduisez la taille de la charge utile de la requête et réessayez.
414 URI trop longL'URI demandé par le client est plus long que ce que le serveur est en mesure d'interpréter.Raccourcissez l'URI ou réduisez la complexité de la requête.
415 Type de média non pris en chargeLe format multimédia des données demandées n'est pas pris en charge par le serveur.Veuillez utiliser un format de média pris en charge dans la requête.
416 Intervalle non satisfaisableLe serveur ne peut pas prendre en charge la plage spécifiée dans l'en-tête « Range ».Modifiez la requête de plage ou essayez d'accéder à la ressource complète.
417 Échec de l'attenteLe serveur ne peut pas répondre aux exigences du champ d'en-tête de requête « Expect ».Supprimez l'en-tête « Expect » ou modifiez sa valeur, puis réessayez.
429 Nombre de requêtes trop élevéL'utilisateur a envoyé un nombre trop élevé de requêtes depuis la même adresse IP au cours d'une période donnée (« limitation de débit »).Veuillez patienter et réessayer un peu plus tard ; pensez à réduire la fréquence des requêtes ou à répartir celles-ci sur plusieurs adresses IP en utilisant des proxys résidentiels.

5xx – Erreur de serveur

Code d'étatDéfinitionÉtapes suivantes
Erreur 500 du serveur interneLe serveur a rencontré un problème imprévu qui l'a empêché de répondre à la demande.Vérifiez les journaux du serveur pour repérer les erreurs et corrigez tout ce qui pourrait être à l'origine du problème.
501 Non implémentéLe serveur ne prend pas en charge les fonctionnalités nécessaires pour répondre à la demande.Assurez-vous que le logiciel serveur est capable de traiter la requête ; envisagez de mettre à jour ou de remplacer le serveur.
502 Bad GatewayLe serveur, alors qu'il fonctionnait en tant que passerelle ou proxy, a reçu une réponse non valide de la part d'un serveur en amont.Vérifiez le serveur en amont et les connexions réseau ; résolvez les éventuels problèmes.
503 Service indisponibleLe serveur n'est actuellement pas en mesure de traiter la requête, souvent en raison d'une surcharge temporaire ou de travaux de maintenance.Veuillez réessayer plus tard ; vérifiez la charge du serveur ou l'état de la maintenance.
Délai d'attente de la passerelle 504Le serveur, alors qu'il fonctionnait en tant que passerelle ou proxy, n'a pas reçu de réponse en temps voulu de la part d'un serveur en amont.Vérifiez le serveur en amont et les connexions réseau ; assurez-vous que les paramètres de délai d'expiration sont corrects.
505 Version HTTP non prise en chargeLe serveur ne prend pas en charge la version du protocole HTTP utilisée dans la requête.Utilisez une version HTTP prise en charge ou mettez à jour le logiciel du serveur.
La variante 506 fait également l'objet de négociationsLe serveur présente une erreur de configuration interne, provoquant une référence circulaire.Corrigez la configuration du serveur afin de résoudre la référence circulaire.
507 Espace de stockage insuffisantLe serveur ne parvient pas à stocker la représentation nécessaire pour traiter la requête.Libérez de l'espace disque ou augmentez la capacité de stockage sur le serveur.
Boucle 508 détectéeLe serveur a détecté une boucle infinie lors du traitement d'une requête.Recherchez et corrigez la boucle dans la configuration ou le code du serveur.
510 Non étenduDes informations complémentaires sont nécessaires pour que le serveur puisse répondre à votre demande.Assurez-vous que la requête du client comporte les extensions nécessaires.
Authentification réseau 511 requiseLe client doit s'authentifier pour pouvoir accéder au réseau.Veuillez fournir des identifiants d'authentification réseau valides.

Cas d'usage

Surveillance des connexions par proxy

Lorsque vous utilisez proxys pour la collecte de données En matière d'automatisation Web, les codes d'état permettent de déterminer à quel niveau une requête a échoué : au niveau du proxy, de la cible ou du réseau. Par exemple, une erreur 403 indique souvent un blocage d'adresse IP, tandis qu'une erreur 407 signifie authentification par proxy a échoué.

Optimisation du web scraping

Les scrapers utilisent des codes d'état pour adapter leur comportement de manière dynamique. A 429 Nombre de requêtes trop élevé déclenche une limitation automatique du débit ou une rotation des proxys, ce qui permet de maintenir l'accès aux sites Web cibles.

Bonnes pratiques

Enregistrer et classer les codes d'état

Veillez à toujours enregistrer les codes d'état pendant grattage ou les opérations API. L'identification de tendances (telles que les pics d'erreurs 403 ou 429) permet d'affiner les paramètres du proxy et des agents utilisateurs.

Utilisation de la logique de réessai et de la rotation

Mettez en place des tentatives de réessai et Rotation des adresses IP en cas de réponses 5xx ou 429 temporaires. Cela améliore la disponibilité et réduit le risque de blocage.

Suivre l'évolution des réponses

Configurez des alertes en cas de taux d'erreurs inhabituels afin de détecter rapidement les problèmes, tels que l'expiration des identifiants de proxy ou les modifications apportées au site web cible.

Conclusion

Les codes d'état HTTP servent de pont de communication entre le client et le serveur, indiquant si une requête a abouti, a échoué ou nécessite une modification. Pour les équipes qui utilisent des proxys, la compréhension de ces codes permet d'identifier et de résoudre plus rapidement les problèmes, ce qui améliore la fiabilité de la connexion et la précision des données.

Foire aux questions

Ils décrivent la manière dont un serveur a répondu à la requête d'un client : si celle-ci a abouti, a échoué ou nécessite une action supplémentaire.

Ils permettent de déterminer si un problème provient de votre proxy, du site web cible ou de la configuration de votre client.

Les erreurs 4xx indiquent des problèmes côté client (par exemple, une requête incorrecte ou un accès non autorisé), tandis que les erreurs 5xx indiquent des défaillances côté serveur.

Dans de nombreux cas, oui. Le fait de changer d'adresse IP, d'utiliser des proxys résidentiels ou de s'authentifier correctement permet souvent de résoudre les problèmes liés aux codes d'erreur 4xx et 5xx.