DNS RobotDNS Propagation Checker
AccueilDNSWHOISIPSSL
DNS RobotDNS Propagation Checker

Boîte à outils DNS nouvelle génération

Politique de ConfidentialitéConditions d'UtilisationÀ ProposBlogContact

Outils DNS

Recherche DNSDomaine vers IPRecherche NSRecherche MXRecherche CNAMEVoir tout

Outils E-mail

Vérificateur d'Enregistrement SPFVérificateur DMARCVérificateur DKIMOutil de Test SMTPAnalyseur d'En-têtes E-mailVoir tout

Outils Web

Recherche WHOISDisponibilité de DomaineRecherche de Sous-domainesDétecteur de CMSAnalyseur de LiensVoir tout

Outils Réseau

Outil PingTracerouteVérificateur de PortsVérification des En-têtes HTTPVérification du Certificat SSLVoir tout

Outils IP

Recherche IPQuelle Est Mon IPVérification de Liste Noire IPIP vers HostnameRecherche ASNVoir tout

Outils Utilitaires

Scanner de QR CodeGénérateur de QR CodeUPI QR Code GeneratorWiFi QR Code GeneratorTraducteur de Code MorseVoir tout
© 2026 DNS Robot. Développé par : ❤ Shaik Brothers
Tous les systèmes opérationnels
Made with
Accueil/Blog/Code de Statut HTTP 302 (302 Found) : Signification et Utilisation

Code de Statut HTTP 302 (302 Found) : Signification et Utilisation

Shaik Vahid26 avr. 20269 min de lecture
Infographie du code de statut HTTP 302 montrant le flux de redirection temporaire avec en-tête Location et comparaison 301 vs 302 vs 307
Infographie du code de statut HTTP 302 montrant le flux de redirection temporaire avec en-tête Location et comparaison 301 vs 302 vs 307

Point clé

Le code de statut HTTP 302 (302 Found) est une redirection temporaire : la ressource demandée se trouve provisoirement à une URL différente indiquée par l'en-tête Location, mais l'URL originale doit continuer d'être utilisée pour les requêtes futures. Utilisez 302 pour des redirections de courte durée (login, tests A/B, maintenance) et 301 uniquement quand le déplacement est permanent. Pour préserver les requêtes POST à travers la redirection, utilisez 307 au lieu de 302.

Advertisement

Qu'est-ce que le Code de Statut HTTP 302 ?

Le code de statut HTTP 302 — officiellement nommé 302 Found — est un code de réponse HTTP qui indique au client (généralement un navigateur) que la ressource demandée a été temporairement déplacée vers une autre URL. La nouvelle URL est fournie dans l'en-tête Location de la réponse, et le client doit récupérer la ressource depuis là, uniquement pour cette requête.

Comme le déplacement est temporaire, le client doit continuer à utiliser l'URL originale pour les requêtes futures. Les moteurs de recherche, navigateurs et favoris ne doivent pas remplacer l'URL originale par la cible de redirection. C'est la principale différence comportementale entre HTTP 302 et 301 Moved Permanently.

Le code 302 appartient à la classe 3xx de redirection des codes de statut HTTP, définie dans la RFC 9110. Malgré le nom historique 'Found', le corps de la réponse n'est presque jamais utilisé — les navigateurs modernes suivent immédiatement l'en-tête Location sans le rendre.

Note

Définition rapide : Une réponse 302 signifie « la ressource demandée est temporairement ici — récupérez-la depuis l'URL dans l'en-tête Location, mais continuez d'utiliser l'URL originale la prochaine fois. »

Anatomie d'une Réponse 302

Une réponse de code de statut HTTP 302 contient toujours deux éléments essentiels : la ligne de statut elle-même et un en-tête Location pointant vers la nouvelle URL. Sans en-tête Location valide, le client ne peut pas suivre la redirection.

  • Ligne de statut — HTTP/1.1 302 Found (ou HTTP/2 302 en HTTP/2)

  • En-tête Location — l'URL de destination que le client doit suivre (obligatoire)

  • Cache-Control — généralement no-cache pour que les navigateurs ne mettent pas la cible en cache de manière permanente

  • Body — généralement vide, bien que les serveurs puissent inclure une petite page HTML pour les clients legacy (<html><body><a href="...">Cliquer ici</a></body></html>)

http
HTTP/1.1 302 Found
Location: https://www.example.com/new-page
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Cache-Control: no-cache, no-store
Date: Mon, 27 Apr 2026 14:00:00 GMT

Astuce

Définissez toujours Cache-Control: no-cache sur une réponse 302. Sans cela, certains navigateurs peuvent mettre la redirection en cache pour la session et ne plus revérifier l'URL originale — annulant le caractère « temporaire » de la redirection.

L'en-tête Location peut être une URL absolue (https://example.com/path) ou relative au chemin (/path). Les clients HTTP modernes acceptent les deux, bien que les URL absolues soient recommandées pour la clarté.

302 vs 301 vs 307 vs 308 : Quelle Redirection Choisir ?

HTTP définit cinq codes de redirection courants, et choisir le bon impacte le cache, le SEO et la préservation de la méthode. Utilisez ce tableau comme matrice de décision :

CodePermanenceMéthode préservée ?Mis en cache par les navigateurs ?Idéal pour
301 Moved PermanentlyPermanentPeut changer POST→GETOui (agressivement)Changements d'URL permanents, migrations de domaine
302 FoundTemporaireChange souvent POST→GETNonFlux de login, tests A/B, maintenance
303 See OtherTemporaireChange toujours en GETNonPattern POST/Redirect/GET après soumission de formulaire
307 Temporary RedirectTemporaireOui — préservéeNonRedirections temporaires devant garder POST/PUT
308 Permanent RedirectPermanentOui — préservéeOuiRedirections permanentes devant garder POST/PUT

Avertissement

N'utilisez jamais 302 pour un déplacement permanent (par ex. changement de domaine). Les moteurs de recherche traitent 302 comme temporaire et ne transfèrent pas les signaux de classement à la nouvelle URL. Pour les déplacements permanents, utilisez toujours 301 ou 308.

La recommandation moderne : si vous avez besoin d'une redirection temporaire et voulez être sans ambiguïté sur la méthode, utilisez 307 au lieu de 302. Le code 307 a été ajouté en HTTP/1.1 précisément parce que les navigateurs violaient historiquement la spec en changeant POST en GET sur un 302 — et ce comportement incorrect est devenu si répandu qu'il est devenu le standard de fait.

Quand Utiliser une Redirection 302 ?

Utilisez le code de statut HTTP 302 chaque fois que la redirection est réellement temporaire — c'est-à-dire quand vous prévoyez de retirer ou changer la cible de redirection à l'avenir. Cas d'usage légitimes courants :

  • Redirections de login — Envoyer un utilisateur non authentifié de /dashboard vers /login, puis le ramener après connexion

  • Tests A/B — Router 50 % des utilisateurs vers une variante sans changer l'URL canonique

  • Pages de maintenance — Rediriger temporairement tout le trafic vers /maintenance pendant qu'on patche le serveur

  • Routage par géolocalisation — Envoyer les visiteurs de / vers /fr ou /us selon leur pays, en gardant / comme entrée canonique

  • Redirections mobiles — Rediriger les utilisateurs smartphone d'example.com vers m.example.com (le design responsive est aujourd'hui préféré)

  • Pages produits en rupture — Envoyer les acheteurs vers la catégorie en attendant que le produit revienne en stock

  • URL promotionnelles courtes — /black-friday redirigeant vers la landing campagne uniquement pendant la promo

Si l'un de ces cas devient permanent, passez à 301. Les moteurs de recherche attendent plusieurs mois avant de traiter un 302 durable comme un 301, donc laisser un déplacement permanent en 302 coûte des signaux de classement pendant cette période.

Advertisement

Comment Envoyer un Code de Statut 302

La plupart des serveurs web et frameworks ont des helpers intégrés pour envoyer une redirection 302. Voici les patterns les plus courants. Chacun émet HTTP 302 Found avec un en-tête Location — les deux seules choses dont une réponse 302 a strictement besoin.

Nginx

Sur Nginx, utilisez la directive return avec le code 302 (le défaut si vous omettez le code est aussi 302) :

nginx
server {
    listen 80;
    server_name example.com;

    # Redirection temporaire (302 Found)
    location /old-page {
        return 302 https://example.com/new-page;
    }
}

Apache (.htaccess)

Sur Apache, utilisez Redirect avec le code 302 ou RewriteRule avec le flag [R=302,L] :

apache
# Redirection temporaire simple
Redirect 302 /old-page https://example.com/new-page

# Ou avec mod_rewrite pour la correspondance par motif
RewriteEngine On
RewriteRule ^maintenance$ /maintenance.html [R=302,L]

Node.js (Express)

res.redirect() d'Express utilise 302 par défaut quand aucun code n'est fourni :

javascript
// Redirection temporaire (302 Found par défaut)
app.get('/dashboard', (req, res) => {
  if (!req.user) {
    return res.redirect('/login') // envoie 302
  }
  // ...rendu du dashboard
})

// Ou explicitement :
res.redirect(302, '/login')

Astuce

Si vous devez préserver la méthode (POST, PUT, DELETE), utilisez res.redirect(307, '/new-url') au lieu de 302. Les navigateurs rétrogradent un POST 302 en GET — 307 garde la méthode originale.

Comment Tester un Code de Statut 302

Après avoir implémenté une redirection 302, vérifiez qu'elle fonctionne correctement. Le plus rapide est curl depuis le terminal — il montre le code de statut exact et l'en-tête Location sans interférence du cache navigateur.

bash
# Afficher uniquement les en-têtes (-I) sans suivre la redirection
curl -I https://example.com/old-page

# Sortie attendue :
# HTTP/2 302
# location: https://example.com/new-page
# cache-control: no-cache
# date: Mon, 27 Apr 2026 14:00:00 GMT

# Suivre toute la chaîne (-L) et afficher chaque saut
curl -ILs https://example.com/old-page | grep -i 'HTTP/\|location:'

Note

Les DevTools du navigateur fonctionnent aussi : ouvrez l'onglet Network, activez Preserve log et chargez l'URL. Chaque redirection apparaît comme une entrée séparée avec son code de statut et l'en-tête Location. C'est le moyen le plus simple de déboguer des chaînes multi-saut.

Sans accès terminal, utilisez le Vérificateur de Redirection gratuit de DNS Robot pour tracer toute la chaîne depuis un serveur neutre, ou le Vérificateur d'En-têtes HTTP pour inspecter les en-têtes bruts — les deux contournent le cache navigateur.

Redirections 302 et SEO

Un code de statut HTTP 302 dit aux moteurs de recherche : « ce déplacement est temporaire, gardez l'URL originale dans l'index. » Cela a des conséquences directes sur les signaux de classement.

Selon Google Search Central, un 302 ne transfère pas les signaux de classement de l'URL originale vers la cible de redirection comme le fait un 301. L'URL originale reste canonique. Google peut quand même indexer la page cible si d'autres signaux de canonicalisation (liens internes, sitemap, hreflang) pointent vers elle — mais le 302 lui-même n'est pas un signal canonique.

  • Utilisez 301 pour les déplacements permanents — Changements de domaine, modifications de structure d'URL, consolidation de pages

  • Utilisez 302 pour les déplacements temporaires — Flux de login, tests A/B, maintenance, routage régional

  • Ne laissez pas un déplacement permanent en 302 — Google attend des mois avant de traiter un 302 long comme un 301, vous perdez de l'équité de classement pendant ce temps

  • Évitez les chaînes — A → 302 → B → 302 → C dilue les signaux et ralentit le chargement. Chaque saut ajoute de la latence

Avertissement

Si vous voyez des redirections 302 sur des URL qui devraient se classer (page d'accueil, landing pages clés), auditez-les avec le Vérificateur de Redirection de DNS Robot. Un 302 mal configuré sur un déplacement permanent peut tuer les classements en silence.

Pourquoi un 302 Change les Requêtes POST en GET

C'est le comportement le plus surprenant de HTTP 302. La RFC originale disait que les clients devaient préserver la méthode en suivant une redirection. Mais les premiers navigateurs — Mosaic, Netscape, IE — changeaient tous POST en GET sur un 302, et ce comportement incorrect est devenu si répandu qu'il a été standardisé dans le WHATWG Fetch Standard.

Aujourd'hui, quand un navigateur envoie un POST /login et que le serveur répond 302 Found, le navigateur émet automatiquement un GET /next-page vers la cible. Les données du formulaire sont perdues. Ce n'est presque jamais l'intention du développeur.

http
# Ce que vous envoyez :
POST /submit-form HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded

name=Alice&email=alice@example.com

# Le serveur répond avec 302 :
HTTP/1.1 302 Found
Location: /thank-you

# Le navigateur suit avec GET (données du formulaire perdues !) :
GET /thank-you HTTP/1.1
Host: example.com

Astuce

Règle pratique : GET → 302 c'est ok, POST → 302 c'est risqué. Pour les soumissions de formulaire, préférez 303 See Other (GET intentionnel sur la page suivante) ou 307 Temporary Redirect (garder le POST).

Si la redirection doit préserver la méthode originale (POST reste POST, PUT reste PUT), utilisez 307 Temporary Redirect au lieu de 302. Si vous voulez intentionnellement supprimer le body et passer à GET — le pattern classique POST/Redirect/GET — utilisez 303 See Other. Les deux sont sans ambiguïté ; 302 ne l'est pas.

Advertisement

Erreurs 302 Courantes et Comment les Corriger

Quand HTTP 302 tourne mal, cela apparaît généralement sous l'une de ces formes. La plupart ont des solutions simples :

  • `Recevoir 302 au lieu de 200` — Le serveur redirige alors qu'il ne devrait pas. Vérifiez .htaccess, la config Nginx ou le middleware du framework

  • `302 sans en-tête Location` — Réponse invalide. Les navigateurs afficheront une page blanche. Assurez-vous que votre code définit l'en-tête Location avant d'envoyer le statut

  • `302 redirigeant sur lui-même` — Boucle de redirection. L'URL Location est identique à l'URL de requête. Vérifiez les conditions manquantes

  • `302 supprimant les données du formulaire` — POST → 302 → GET supprime le body. Passez à 307 Temporary Redirect pour préserver le POST

  • `302 mis en cache par le navigateur` — Serveur bogué a défini Cache-Control: max-age=... sur la redirection. Ajoutez Cache-Control: no-cache et videz le cache

  • `302 en production mais pas en local` — Généralement un CDN ou load balancer ajoutant des redirections. Testez directement contre l'origin pour isoler

Note

Si un 302 survient de manière inattendue, l'étape de débogage la plus rapide est curl -I <url> directement contre votre serveur d'origine (en contournant le CDN). Si l'origin renvoie 200, le 302 est injecté par votre CDN, proxy ou load balancer.

Boucles de Redirection 302 : Comment Diagnostiquer

Une boucle de redirection survient quand l'URL A renvoie un 302 vers l'URL B, et que l'URL B renvoie un 302 vers A. Après 20 sauts (dans Chrome et Firefox), le navigateur affiche ERR_TOO_MANY_REDIRECTS et abandonne.

La cause unique la plus courante est un conflit SSL/HTTPS entre un CDN (comme Cloudflare) et le serveur d'origine : le CDN se connecte à l'origin en HTTP, l'origin redirige HTTP→HTTPS, le CDN supprime le HTTPS et se reconnecte en HTTP — boucle infinie.

bash
# Tracer toute la chaîne (limiter à 10 sauts pour éviter les boucles)
curl -ILs --max-redirs 10 https://example.com 2>&1 | grep -i 'HTTP/\|location:'

# Exemple de boucle :
# HTTP/2 302
# location: http://example.com/
# HTTP/1.1 302 Found
# Location: https://example.com/
# HTTP/2 302
# location: http://example.com/  <-- boucle confirmée

Si vous voyez deux URL alternant dans les en-têtes Location, vous avez confirmé une boucle 302. Pour un guide complet, voir notre article ERR_TOO_MANY_REDIRECTS. Le Vérificateur de Redirection de DNS Robot trace toute la chaîne depuis un emplacement neutre et s'arrête au point de boucle.

Bonnes Pratiques pour le Code de Statut 302

Envoyer correctement 302 Found évite la plupart des bugs que rencontrent les développeurs en implémentant des redirections :

  • Toujours inclure un en-tête Location — Un 302 sans Location est invalide et s'affiche comme une page blanche

  • Toujours définir Cache-Control: no-cache — Sinon certains navigateurs cachent la redirection pendant la session, brisant le contrat « temporaire »

  • Utiliser des URL absolues dans Location — https://example.com/new est sans ambiguïté ; /new fonctionne mais peut casser derrière des proxys qui changent l'hôte

  • Garder les redirections à un seul saut — A → 302 → B c'est bien ; A → 302 → B → 302 → C ralentit et dilue les signaux

  • Ne pas rediriger d'un POST vers une autre page avec 302 — Utiliser 303 (GET intentionnel) ou 307 (préserver POST)

  • Auditer les redirections mensuellement — Les redirections temporaires anciennes survivent souvent à leur raison. Vérifier avec Redirect Checker

  • Passer à 301 quand le déplacement devient permanent — Ne pas laisser un déplacement permanent en 302 plus de quelques semaines

Comportement des Navigateurs et du Cache

Les différents navigateurs et intermédiaires gèrent HTTP 302 un peu différemment. Connaître les particularités fait gagner du temps de débogage :

ClientComportement par défaut sur 302Cache par défaut
Chrome / EdgeSuit auto, change POST→GETPas de cache sauf si en-têtes le disent
FirefoxSuit auto, change POST→GETPas de cache sauf si en-têtes le disent
SafariSuit auto, change POST→GETCache de redirections un peu plus agressif
curl (défaut)Ne suit PAS — affiche 302 + LocationPas de cache
curl -LSuit jusqu'à --max-redirs (défaut 50)Pas de cache
wget (défaut)Suit auto jusqu'à --max-redirect=20Pas de cache
GooglebotSuit, traite comme signal temporaireRe-crawle l'URL originale

Pour vérifier les cas limites (méthodes POST, boucles infinies, présence d'en-têtes), le Vérificateur d'En-têtes HTTP de DNS Robot affiche la réponse brute sans réécriture de méthode par le navigateur. En savoir plus sur les redirections temporaires dans la documentation MDN et la spécification RFC 9110.

Advertisement

Tracez n'importe quelle chaîne de redirection en quelques secondes

Utilisez le Vérificateur de Redirection gratuit de DNS Robot pour inspecter chaque saut d'une chaîne — codes de statut, en-têtes Location et destination finale depuis un serveur neutre (sans cache navigateur).

Essayer Vérificateur de Redirection

Advertisement

Questions Fréquemment Posées

Le code de statut 302 (HTTP 302 Found) signifie que la ressource demandée se trouve temporairement à une autre URL indiquée par l'en-tête Location de la réponse. Le client doit suivre la redirection pour cette requête mais continuer à utiliser l'URL originale pour les requêtes futures. C'est l'équivalent temporaire de 301 Moved Permanently.

Outils associés

Redirect CheckerHTTP Headers CheckSSL Certificate CheckDNS Lookup

Articles associés

ERR_TOO_MANY_REDIRECTS : comment corriger cette erreur (tous les navigateurs)Erreur HTTP 503 Service Unavailable : Causes et Comment la RésoudreErreur HTTP 500 Internal Server Error : Causes et Comment la CorrigerErreur 403 Forbidden : Signification et Comment la Corriger

Table des matières

  • Qu'est-ce que le Code de Statut HTTP 302 ?
  • Anatomie d'une Réponse 302
  • 302 vs 301 vs 307 vs 308 : Quelle Redirection Choisir ?
  • Quand Utiliser une Redirection 302 ?
  • Comment Envoyer un Code de Statut 302
  • Comment Tester un Code de Statut 302
  • Redirections 302 et SEO
  • Pourquoi un 302 Change les Requêtes POST en GET
  • Erreurs 302 Courantes et Comment les Corriger
  • Boucles de Redirection 302 : Comment Diagnostiquer
  • Bonnes Pratiques pour le Code de Statut 302
  • Comportement des Navigateurs et du Cache
  • Questions fréquemment posées