Codes de réponse HTTP : guide complet des statuts serveur
DOG&DEV · 26/01/2025
Codes de réponse HTTP : guide complet des statuts serveur
Les codes de réponse HTTP sont des messages à trois chiffres que les serveurs envoient aux navigateurs pour indiquer le résultat d'une requête. Comprendre ces codes est essentiel pour le dépannage, l'optimisation SEO et la maintenance de votre site web.
Prérequis
- Compréhension de base du protocole HTTP
- Accès aux logs serveur (optionnel mais recommandé)
Catégories de codes HTTP
Les codes sont organisés en 5 catégories selon leur premier chiffre :
- 1xx : Informations (rarement vus)
- 2xx : Succès
- 3xx : Redirections
- 4xx : Erreurs client
- 5xx : Erreurs serveur
Codes 2xx : Succès
200 OK
Le code 200 indique que la requête a réussi. C'est le code que vous voulez voir pour la plupart de vos pages.
Impact SEO : positif, les pages sont indexées normalement.
201 Created
Indique qu'une nouvelle ressource a été créée avec succès. Commun après un POST ou PUT.
204 No Content
La requête a réussi mais aucun contenu n'est retourné. Utile pour les actions qui ne nécessitent pas de réponse.
206 Partial Content
Utilisé pour les téléchargements partiels (resume de téléchargement, streaming).
Codes 3xx : Redirections
301 Moved Permanently
Redirection permanente. Le contenu a définitivement déménagé vers une nouvelle URL.
Impact SEO : transfère le référencement de l'ancienne URL vers la nouvelle. Utilisez-le pour les changements d'URL permanents.
Configuration :
- Apache :
.htaccessou configuration serveur - Nginx : configuration de serveur
- Laravel : routes avec
redirect()->permanent()
302 Found
Redirection temporaire. Le contenu est temporairement ailleurs.
Impact SEO : ne transfère pas le référencement. Utilisez-le uniquement pour des redirections vraiment temporaires.
303 See Other
Redirige vers une autre ressource via GET, souvent après un POST.
304 Not Modified
Le contenu n'a pas changé depuis la dernière requête. Le navigateur utilise sa version en cache.
Utile pour : optimiser la bande passante et améliorer les performances.
307 Temporary Redirect
Similaire à 302, mais préserve la méthode HTTP (POST reste POST).
308 Permanent Redirect
Similaire à 301, mais préserve la méthode HTTP.
Codes 4xx : Erreurs client
400 Bad Request
La requête est mal formée. Problème côté client (syntaxe incorrecte, paramètres invalides).
401 Unauthorized
Authentification requise. L'utilisateur doit se connecter.
Solution : vérifier les identifiants, configurer l'authentification.
403 Forbidden
Accès refusé. Le serveur comprend la requête mais refuse de l'autoriser.
Causes courantes :
- Permissions de fichiers incorrectes
- Configuration .htaccess trop restrictive
- IP bloquée
404 Not Found
La ressource demandée n'existe pas.
Impact SEO : négatif. Les pages 404 ne sont pas indexées. Corrigez les liens cassés.
Solutions :
- Rediriger vers une page pertinente (301)
- Créer une page 404 personnalisée
- Vérifier les liens internes
410 Gone
La ressource a été définitivement supprimée. Plus explicite que 404.
Impact SEO : les moteurs de recherche retirent la page de l'index plus rapidement.
429 Too Many Requests
Trop de requêtes en peu de temps. Protection contre le rate limiting.
Solution : implémenter un rate limiting côté serveur.
Codes 5xx : Erreurs serveur
500 Internal Server Error
Erreur générique du serveur. Quelque chose a mal tourné mais le serveur ne peut pas préciser quoi.
Causes courantes :
- Erreur PHP fatale
- Problème de configuration
- Mémoire insuffisante
- Plugin/extension défectueux
Dépannage : voir wordpress-500-error pour WordPress.
502 Bad Gateway
Le serveur (gateway/proxy) a reçu une réponse invalide d'un serveur en amont.
Causes :
- Serveur backend inaccessible
- Timeout entre serveurs
- Configuration proxy incorrecte
503 Service Unavailable
Le service est temporairement indisponible (maintenance, surcharge).
Impact SEO : temporairement acceptable si court. Prolongé = impact négatif.
Solution : voir notre guide 503-error-causes.
504 Gateway Timeout
Le serveur n'a pas reçu de réponse à temps du serveur en amont.
Causes :
- Serveur backend trop lent
- Timeout trop court
- Problème réseau
Impact SEO des codes HTTP
Codes favorables
- 200 OK : indexation normale
- 301 : transfert de référencement (redirections permanentes)
Codes problématiques
- 404 : pages non indexées, perte de trafic
- 500/503 : problèmes d'indexation si fréquents
- 302 : confusion pour les moteurs de recherche (utiliser 301 si permanent)
Bonnes pratiques SEO
- Utilisez 301 pour les changements d'URL permanents
- Corrigez les 404 rapidement
- Évitez les chaînes de redirections (A → B → C)
- Surveillez les 5xx et corrigez-les rapidement
Vérifier les codes HTTP
Outils navigateur
Chrome DevTools :
- F12 → Network
- Recharger la page
- Voir la colonne Status
En ligne de commande
# curl avec headers
curl -I https://exemple.com
# Voir uniquement le code
curl -o /dev/null -s -w "%{http_code}\n" https://exemple.com
Outils en ligne
- WebSniffer : websniffer.cc
- HTTP Status Checker : vérifier plusieurs URLs
Dépannage
| Symptôme | Code | Cause possible | Correctif |
|---|---|---|---|
| Page blanche | 500 | Erreur PHP, plugin défectueux | Activer debug ; désactiver plugins ; vérifier logs |
| Accès refusé | 403 | Permissions, .htaccess | Vérifier permissions (755/644) ; examiner .htaccess |
| Page non trouvée | 404 | URL incorrecte, fichier supprimé | Vérifier l'URL ; créer redirection 301 si nécessaire |
| Site lent/inaccessible | 503 | Surcharge, maintenance | Vérifier ressources serveur ; 503-error-causes |
| Redirection en boucle | 301/302 | Configuration incorrecte | Vérifier les règles de redirection ; éviter les chaînes |
Bonnes pratiques
- Surveillez les codes : utilisez des outils de monitoring
- Logs serveur : analysez régulièrement les erreurs 4xx et 5xx
- Pages d'erreur personnalisées : 404, 500, 503
- Redirections propres : 301 pour permanent, éviter les chaînes
- Tests réguliers : vérifiez que vos pages importantes retournent 200
Ressources
- wordpress-500-error - Corriger erreur 500 WordPress
- 503-error-causes - Solutions erreur 503
- nginx-phpfpm-linux - Configuration serveur web
Cet article s'inscrit dans notre série de guides web et hébergement. Pour un serveur sur-mesure, contact.