Comprendre les codes d'état HTTP : guide complet
Chaque fois que votre navigateur communique avec un serveur Web, le serveur renvoie un code d'état HTTP. Ces nombres à trois chiffres indiquent à votre navigateur si la requête a réussi, a été redirigée ou a rencontré une erreur. Comprendre ces codes d'état est essentiel pour les développeurs Web, les professionnels du SEO et toute personne gérant un site Web.
Organisation des codes d'état HTTP
Les codes d'état HTTP sont divisés en cinq catégories selon leur premier chiffre. Chaque catégorie représente un type de réponse, vous aidant à identifier rapidement la nature de la réponse du serveur.
| Catégorie | Classification | Signification |
|---|---|---|
| 1xx | Information | Requête reçue, traitement en cours |
| 2xx | Succès | Requête reçue et traitée avec succès |
| 3xx | Redirection | Action supplémentaire nécessaire pour compléter la requête |
| 4xx | Erreur client | La requête contient une syntaxe erronée ou ne peut pas être satisfaite |
| 5xx | Erreur serveur | Le serveur n'a pas pu terminer une requête valide |
1xx Réponses informatives
Ces codes indiquent que le serveur a reçu la requête et poursuit son traitement. Ils sont rarement visibles lors de la navigation quotidienne, mais sont importants pour la négociation de protocole.
- 100 Continue : le serveur a reçu les en-têtes de requête, le client doit continuer à envoyer le corps de la requête.
- 101 Switching Protocols : le serveur change de protocole comme demandé par le client via l'en-tête Upgrade.
- 103 Early Hints : utilisé pour précharger les ressources avant que la réponse finale ne soit prête, améliorant les performances de chargement des pages.
2xx Réponses de succès
Ces codes confirment que la requête a été reçue, comprise et traitée avec succès.
- 200 OK : réponse de succès standard. La ressource demandée a été trouvée et renvoyée.
- 201 Created : une nouvelle ressource a été créée avec succès, généralement en réponse à une requête POST.
- 204 No Content : la requête a réussi mais aucun contenu n'est renvoyé. Courant pour les requêtes DELETE.
- 206 Partial Content : le serveur ne délivre qu'une partie de la ressource, utilisé pour les téléchargements de fichiers volumineux et le streaming vidéo.
3xx Réponses de redirection
Les codes de redirection indiquent au client que la ressource demandée est disponible à un emplacement différent. Ils sont cruciaux pour le SEO car ils affectent la façon dont les moteurs de recherche indexent vos pages.
- 301 Moved Permanently : la ressource a été déplacée de manière permanente vers une nouvelle URL. Les moteurs de recherche transfèrent le poids des liens vers la nouvelle URL. C'est la redirection la plus importante en SEO.
- 302 Found : la ressource se trouve temporairement à une URL différente. Les moteurs de recherche conservent généralement l'indexation de l'URL d'origine. À utiliser uniquement pour les migrations temporaires.
- 304 Not Modified : indique que la version en cache de la ressource est toujours valide. Cela économise la bande passante en évitant les transferts de données inutiles.
- 307 Temporary Redirect : similaire à 302, mais garantit que la méthode HTTP ne change pas. Plus fiable techniquement que 302.
- 308 Permanent Redirect : similaire à 301, mais garantit que la méthode HTTP ne change pas. Alternative moderne à la redirection permanente 301.
4xx Réponses d'erreur client
Ces codes indiquent que le client a commis une erreur dans la requête. Ce sont les erreurs les plus souvent rencontrées par les visiteurs d'un site Web.
- 400 Bad Request : le serveur ne peut pas traiter la requête en raison d'une erreur de syntaxe. Vérifiez vos paramètres de requête et vos en-têtes.
- 401 Unauthorized : une authentification est requise et n'a pas été fournie ou a échoué. L'utilisateur doit se connecter.
- 403 Forbidden : le serveur comprend la requête mais refuse l'autorisation. Contrairement à 401, l'authentification ne résout rien.
- 404 Not Found : la ressource demandée n'existe pas sur le serveur. C'est le code d'erreur le plus courant et peut avoir un impact significatif sur le SEO s'il n'est pas géré correctement.
- 405 Method Not Allowed : la méthode de requête (GET, POST, PUT, etc.) n'est pas supportée par la ressource demandée.
- 429 Too Many Requests : l'utilisateur a envoyé trop de requêtes dans un délai donné. Il s'agit d'une limitation de débit, couramment utilisée par les API.
5xx Réponses d'erreur serveur
Ces codes indiquent que le serveur n'a pas pu terminer une requête valide. Ils représentent des problèmes côté serveur nécessitant une attention immédiate.
- 500 Internal Server Error : message d'erreur générique lorsque le serveur rencontre une condition inattendue. Consultez les journaux du serveur pour identifier la cause racine.
- 502 Bad Gateway : le serveur agit comme passerelle et a reçu une réponse invalide du serveur en amont. Courant avec les proxys inverses et les CDN.
- 503 Service Unavailable : le serveur est temporairement incapable de traiter la requête, généralement en raison d'une maintenance ou d'une surcharge. Utilisez l'en-tête Retry-After pour indiquer quand réessayer.
- 504 Gateway Timeout : le serveur agit comme passerelle et n'a pas reçu de réponse en temps opportun du serveur en amont.
Comment déboguer les codes d'état HTTP
Lors du dépannage des erreurs HTTP, suivez cette approche systématique :
- Vérifiez le code d'état : déterminez s'il s'agit d'une erreur client (4xx) ou d'une erreur serveur (5xx).
- Consultez les journaux du serveur : pour les erreurs 5xx, les journaux du serveur contiennent les stack traces et les détails de l'erreur.
- Vérifiez les en-têtes de requête : utilisez les outils de développement du navigateur pour vérifier que la requête contient les bons en-têtes, cookies et jetons d'authentification.
- Testez avec curl : utilisez curl pour reproduire la requête afin d'isoler si le problème vient du client ou du serveur.
- Vérifiez les changements récents : les déploiements, les mises à jour de configuration ou les changements DNS causent souvent des erreurs de code d'état.
Besoin de rechercher rapidement un code d'état HTTP ? Essayez notre outil de référence gratuit pour les codes d'état HTTP.
Essayez l'outil de codes d'état HTTPQuestions fréquentes
Quels sont les codes d'état HTTP les plus courants ?
Le code d'état HTTP le plus courant est 200 OK, qui indique que la requête a réussi. D'autres codes courants incluent 301 Moved Permanently, 404 Not Found et 500 Internal Server Error.
Quelle est la différence entre les redirections 301 et 302 ?
La redirection 301 est permanente et indique aux moteurs de recherche de transférer le poids des liens vers la nouvelle URL. La redirection 302 est temporaire et indique aux moteurs de recherche de conserver l'indexation de l'URL d'origine. Utilisez 301 pour les migrations permanentes et 302 pour les migrations temporaires.
Comment corriger l'erreur 403 Forbidden ?
L'erreur 403 signifie que le serveur comprend la requête mais refuse l'autorisation. Vérifiez les permissions des fichiers, validez les informations d'authentification, assurez-vous que l'utilisateur a les droits d'accès, et vérifiez les restrictions d'IP ou les plugins de sécurité qui bloquent l'accès.
Que signifie le code d'état 429 ?
Le code d'état 429 Too Many Requests indique que vous avez envoyé trop de requêtes dans un délai donné. Il s'agit d'une limitation de débit. La réponse inclut généralement un en-tête Retry-After indiquant combien de temps attendre avant de faire une nouvelle requête.
L'erreur 500 est-elle de mon fait ou du serveur ?
L'erreur 500 Internal Server Error est un problème côté serveur, non causé par la requête du client. Elle indique généralement une erreur dans le code du serveur, une erreur de configuration ou un problème d'épuisement des ressources. Cependant, si votre requête déclenche l'erreur serveur, modifier la requête peut permettre d'éviter l'erreur.