http web development status codes headers api caching security

Codes d'État HTTP & En-têtes de Réponse : Guide de Référence Complet

Une référence complète des codes d'état HTTP (1xx-5xx) et des en-têtes de réponse essentiels. Apprenez à déboguer les applications web, optimiser le cache avec Cache-Control et gérer les sessions avec Set-Cookie.

2026-04-12

Codes d'État HTTP & En-têtes de Réponse : Référence Complète

Comprendre les codes d'état et les en-têtes HTTP est fondamental pour les développeurs web, les spécialistes SEO et les administrateurs système. Ce guide de référence couvre les codes et en-têtes les plus importants utilisés dans la communication web moderne.

1. Référence Rapide des Codes d'État HTTP

Les codes d'état sont regroupés en cinq classes selon le premier chiffre.

1xx : Information

  • 101 Switching Protocols : Le serveur accepte de changer de protocole (ex : passage aux WebSockets).

2xx : Succès

  • 200 OK : La requête a réussi.
  • 201 Created : La requête a réussi et une nouvelle ressource a été créée.
  • 204 No Content : La requête a réussi, mais il n'y a pas de contenu à renvoyer.

3xx : Redirection

  • 301 Moved Permanently : La ressource a été déplacée de façon permanente vers une nouvelle URL.
  • 302 Found : La ressource se trouve temporairement sur une autre URL.
  • 304 Not Modified : Utilisé pour le cache ; indique que la ressource n'a pas changé.

4xx : Erreur du Client

  • 400 Bad Request : Le serveur ne peut pas traiter la requête en raison d'une erreur client (ex : syntaxe erronée).
  • 401 Unauthorized : Une authentification est requise.
  • 403 Forbidden : Le serveur comprend la requête mais refuse de l'autoriser.
  • 404 Not Found : La ressource demandée n'a pas pu être trouvée.
  • 429 Too Many Requests : L'utilisateur a envoyé trop de requêtes dans un temps donné (Limitation de débit).

5xx : Erreur du Serveur

  • 500 Internal Server Error : Message d'erreur générique lorsqu'un serveur rencontre une condition inattendue.
  • 502 Bad Gateway : Le serveur, agissant comme passerelle, a reçu une réponse invalide du serveur amont.
  • 503 Service Unavailable : Le serveur est actuellement incapable de traiter la requête (ex : maintenance ou surcharge).
  • 504 Gateway Timeout : Le serveur n'a pas reçu de réponse à temps du serveur amont.

2. En-têtes de Réponse HTTP Essentiels

Les en-têtes fournissent des métadonnées sur la réponse ou le serveur.

Contrôle du Cache : Cache-Control

Contrôle comment le navigateur et les caches intermédiaires (comme les CDN) stockent la ressource.

  • public, max-age=31536000, immutable : Idéal pour les ressources statiques versionnées (JS, CSS).
  • no-store : Ne rien stocker en cache (utile pour les données sensibles).
  • no-cache : Doit revalider avec le serveur avant d'utiliser la version en cache.

Sécurité : Strict-Transport-Security (HSTS)

Indique au navigateur de n'accéder au site que via HTTPS.

  • Exemple : max-age=63072000; includeSubDomains; preload

Gestion des Sessions : Set-Cookie

Envoie un cookie du serveur vers l'agent utilisateur.

  • Exemple : id=abc; Max-Age=3600; Secure; HttpOnly; SameSite=Lax
    • HttpOnly : Empêche le JavaScript d'accéder au cookie (atténue les attaques XSS).
    • Secure : Envoie le cookie uniquement via HTTPS.
    • SameSite : Contrôle le comportement des cookies intersites (Lax, Strict ou None).

Négociation de Contenu : Content-Type & Accept-Encoding

  • Content-Type : Indique le type de média de la ressource (ex : text/html, application/json).
  • Accept-Encoding : Communiqué par le client pour indiquer la compression supportée (ex : gzip, br).

3. Tableau Comparatif : Redirection 301 vs 302

Caractéristique 301 Moved Permanently 302 Found (Temporaire)
Impact SEO Transmet l'autorité (PageRank) Ne transmet pas l'autorité
Cache Navigateur Caché par défaut Non caché par défaut
Cas d'Utilisation Migration de site, changement d'URL Maintenance, promotions temporaires

FAQ : Problèmes HTTP Courants

Q : Pourquoi ai-je une erreur 403 Forbidden alors que je suis connecté ?

R : Cela arrive souvent si l'utilisateur n'a pas les permissions/rôles spécifiques pour cette ressource, ou s'il y a un décalage de jeton CSRF.

Q : Quelle est la différence entre 401 et 403 ?

R : 401 Unauthorized signifie "Je ne sais pas qui vous êtes" (veuillez vous connecter). 403 Forbidden signifie "Je sais qui vous êtes, mais vous n'avez pas le droit d'être ici".

Q : Comment corriger une erreur 502 Bad Gateway ?

R : C'est généralement un problème côté serveur. Vérifiez si l'application backend (ex : Node.js, Python) fonctionne ou si le proxy inverse (Nginx/Apache) est correctement configuré.

Outils Associés

  • Analyseur d'En-têtes HTTP : Inspectez et analysez les en-têtes de n'importe quelle URL.
  • Générateur de Cache-Control : Générez des politiques de cache optimisées.
  • Vérificateur de Code d'État : Vérifiez le code de réponse pour votre API ou site web.