Lorsqu'une URL redirige vers une autre adresse, un code d'état HTTP est impliqué en arrière-plan. Les codes d'état 301, 302, 307 et 308 sont particulièrement fréquents.
Tous les quatre peuvent rediriger un navigateur vers une autre URL. Cependant, ils ne signifient techniquement pas la même chose. Une différence essentielle réside dans le fait que la redirection soit permanente ou temporaire. Avec les codes 307 et 308, le traitement de la méthode HTTP d'origine entre également en jeu.
Dans cet article, nous vous expliquons les différences et vous montrons quel type de redirection est destiné à quel cas d'usage.
En bref : 301 et 308 représentent des redirections permanentes. 302 et 307 sont prévus pour des redirections temporaires. 307 et 308 garantissent en outre que la méthode HTTP et le corps de la requête ne sont pas modifiés lors de la redirection.
Que se passe-t-il lors d'une redirection HTTP ? #
Lorsque votre navigateur appelle une URL, il envoie une requête HTTP au serveur web concerné.
Pour une requête normale et réussie, le serveur peut par exemple répondre avec le statut suivant :
200 OK
Le contenu demandé sera ensuite livré.
En revanche, lors d'une redirection, le serveur répond avec un code d'état de redirection et indique au client via la réponse HTTP à quelle autre URL la ressource est accessible.
Simplifié :
Le navigateur demande l'URL A
↓
Le serveur répond par une redirection
↓
nouvelle adresse : URL B
↓
Le navigateur appelle l'URL B
↓
Le serveur fournit le contenu
Pour les visiteurs, ce processus se déroule généralement automatiquement.
Que signifient 301, 302, 307 et 308 ? #
Les quatre codes d'état peuvent d'abord se diviser en permanents et temporaires :
301 → permanent
302 → temporaire
307 → temporaire
308 → permanent
Il existe cependant encore une différence technique entre 301 et 308, respectivement entre 302 et 307, qui, en particulier pour les méthodes HTTP autres que OBTENIR pouvoir devenir pertinent.
301 – Déplacé de manière permanente #
Le code d'état 301 Déplacé de manière permanente indique que la ressource demandée est accessible de manière permanente à une autre URL.
Un exemple typique est une adresse de page modifiée de manière permanente :
https://example.com/altes-angebot/
↓ 301
https://example.com/neues-angebot/
L'ancienne adresse a été définitivement remplacée par la nouvelle.
Le code 301 est donc l'un des codes d'état les plus importants lors de refontes de sites web, de modifications d'URL et de contenus définitivement déplacés.
Nous vous expliquons comment configurer pratiquement une telle redirection sous Configurer une redirection 301 : rediriger des URL de manière permanente.
Quand une redirection 301 est-elle utile ? #
Une redirection 301 convient par exemple lorsqu'une page obtient définitivement une nouvelle URL, lorsqu'une ancienne page a été remplacée par un nouveau contenu correspondant ou lorsque la structure des URL change définitivement lors d'une refonte.
Même lors d'un changement permanent de domaine, les redirections 301 peuvent faire partie d'une migration propre.
Important : „Ici, “ permanent » ne signifie pas que vous ne pourrez plus jamais modifier la règle technique. Cela décrit l'information que le serveur transmet au client concernant l'état de la ressource demandée : l'URL précédente a été définitivement remplacée par une autre destination.
302 – Trouvé #
Le code d'état 302 Trouvé est utilisé pour une redirection temporaire.
L'URL d'origine reste ainsi par principe la véritable adresse de la ressource.
Un exemple simplifie :
URL A
↓ 302
URL B
L'URL A devra de nouveau être la destination normale par la suite.
Une redirection temporaire peut par exemple être utilisée lorsqu'un contenu n'est fourni que temporairement sous une autre adresse.
Pourquoi le code 302 s'appelle-t-il „ Found “ ? #
La désignation peut paraître déroutante au premier abord. Historiquement, ce code d'état a été interprété et utilisé de différentes manières.
Pour le travail pratique sur un site web, il est particulièrement important : 302 représente une redirection non déclarée comme permanente.
Si le changement d'URL est réellement permanent, vous ne devez pas utiliser une redirection 302 par simple habitude.
307 – Redirection temporaire #
Le code d'état Redirection temporaire 307 décrit également une redirection temporaire.
Contrairement au code 302, le code 307 stipule clairement que le client ne doit pas modifier la méthode HTTP d'origine ni le corps de la requête lors de la redirection.
Cela est particulièrement pertinent pour les demandes qui ne le sont pas avec la méthode habituelle OBTENIR avoir lieu.
Que signifie méthode HTTP ? #
Une requête HTTP possède entre autres une méthode. Deux méthodes courantes sont :
GET → Ressource abrufen
POST → Daten an einen Server senden
Lors d'un chargement normal d'une page Web dans un navigateur, il s'agit typiquement d'une OBTENIRDemande.
Les formulaires ou les applications web, en revanche, peuvent par exemple PUBLICATION utiliser.
Pourquoi la méthode est-elle pertinente pour les redirections ? #
Supposons qu'un client envoie des données avec une PUBLICATION-Requête vers une URL.
Pour une redirection 307, la requête redirigée doit toujours être PUBLICATION être effectués et le corps de la requête conservé.
POST /ancienne-url
↓
307 Redirection temporaire
↓
POST /nouvelle-url
C'est précisément cette conservation garantie de la méthode qui différencie techniquement le 307 du 302.
Pour les administrateurs de sites web normaux : Lors de simples consultations de pages via GET, cette différence joue souvent un rôle invisible. En revanche, elle peut s'avérer décisive pour les formulaires, les API et les applications web.
308 – Redirection permanente #
Le code d'état Redirection permanente 308 décrit une redirection permanente.
Comme pour le code 307, la méthode HTTP d'origine et le corps de la requête doivent être conservés lors de la redirection.
Simplifié :
POST /ancienne-url
↓
308 Permanent Redirect
↓
POST /nouvelle-url
Le 308 associe ainsi deux propriétés :
redirection permanente + la méthode HTTP est conservée
Quelle est la différence entre 301 et 308 ? #
Les deux codes d'état indiquent une redirection permanente.
La différence technique décisive réside dans le traitement de la méthode HTTP.
Chez 308 il est expressément stipulé que la méthode et le corps de la requête doivent être réutilisés sans modification.
Chez 301 cette garantie n'existe pas sous la même forme. Historiquement, les clients peuvent modifier leur comportement, en particulier pour certaines requêtes autres que GET.
Pour la redirection classique d'une page Web normale d'une ancienne URL GET vers une nouvelle URL 301 toujours un code d'état établi et approprié.
Quelle est la différence entre 302 et 307 ? #
Les deux indiquent une redirection temporaire.
Ici aussi, la différence technique réside principalement dans le traitement de la méthode HTTP :
302
temporaire
la méthode n'est pas garantie d'être la même
307
temporaire
la méthode et le corps de la requête doivent être conservés
Pour les demandes techniquement sensibles où la méthode d'origine doit impérativement être conservée, le code 307 offre ainsi une sémantique plus claire.
Les quatre redirections en comparaison directe #
| Code d'état | Sens | Permanent ? | Conserver la méthode ? |
|---|---|---|---|
301 | Déplacé définitivement | Oui | Non garanti comme pour le 308 |
302 | Trouvé | Non | Non garanti comme pour le 307 |
307 | Redirection temporaire | Non | Oui |
308 | Redirection permanente | Oui | Oui |
Quel code d'état devrais-je utiliser ? #
Sur un site web normal, vous pouvez d'abord poser une question simple :
Le changement est-il permanent ou temporaire ?
Permanent ?
│
├── Oui → 301 ou techniquement 308
│
└── Non → 302 ou techniquement 307
Pour les redirections de pages normales, le code 301 est très courant pour les changements d'URL permanents.
Si, de plus, il doit être garanti qu'une méthode HTTP telle que PUBLICATION reste inchangé, les différences entre 301/308 d'une part et 302/307 d'autre part deviennent pertinentes.
Exemple : Page renommée de manière permanente #
Une page de prestations précédente :
a été définitivement remplacé par :
Une redirection permanente est judicieuse ici.
/webhosting-alt/
↓ 301
/webhosting/
Exemple : contenu déplacé uniquement de manière temporaire #
Supposons qu'une ressource ne soit accessible que temporairement sous une autre URL et qu'elle doive être utilisée à nouveau plus tard à son adresse précédente.
La redirection ne doit alors pas être marquée comme un déplacement permanent.
URL d'origine
↓
redirection temporaire
↓
destination temporaire
Selon l'application technique, les modèles 302 ou 307 peuvent être envisagés.
Exemple : Formulaire ou application #
Dans une application web, une requête peut contenir des données avec PUBLICATION transférer.
Si cette requête doit être temporairement redirigée vers un autre point de terminaison et en tant que PUBLICATION Pour que cela soit préservé, la sémantique de 307 est pertinente.
POST /formulaire-ancien
↓
307
↓
POST /formulaire-nouveau
Ces cas diffèrent de la redirection classique d'une page de contenu normale.
Redirections et moteurs de recherche #
Les moteurs de recherche prennent en compte les redirections HTTP lors de l'exploration et du traitement des URL.
Une redirection permanente indique qu'une ressource a été définitivement déplacée vers une autre destination. En revanche, une redirection temporaire indique que l'URL d'origine peut fondamentalement rester pertinente.
Le code d'état doit donc décrire l'état réel de la manière la plus précise possible.
Important pour le référencement (SEO) : Ne choisissez pas le code d'état en fonction de celui qui, selon vous, vous apporterait un prétendu „ avantage SEO “. Utilisez le code qui décrit correctement l'état technique réel.
Les redirections 301 ont-elles un „ impact sur le référencement “ ? #
Dans le domaine du SEO, les redirections sont souvent décrites de manière simplifiée comme une méthode permettant de transférer ce que l'on appelle la „ force des liens “ ou la „ puissance SEO “.
Cette représentation est trop générale.
Une redirection permanente est d'abord un signal technique indiquant qu'une ressource est accessible de manière permanente sous une autre URL. Les moteurs de recherche peuvent traiter ce signal ainsi que d'autres informations.
Une redirection ne transforme toutefois pas automatiquement n'importe quelle page de destination en une page mieux classée.
En particulier, une ancienne URL devrait pointer vers une nouvelle destination dont le contenu est pertinent.
Pas de redirections, ne pas créer de liens uniquement pour améliorer le classement #
Les redirections doivent répondre à un véritable besoin technique.
Le fait de rediriger de manière indiscriminée d'anciennes URL ou des URL tierces vers une page spécifique dans le but d'améliorer artificiellement les classements ne constitue pas une structure de site web propre.
Si une ressource n'a pas de successeur pertinent, il n'est pas forcément nécessaire de mettre en place une redirection.
Que se passe-t-il en cas de mauvais type de redirection ? #
Un site web ne devient pas nécessairement inutilisable du jour au lendemain, simplement parce qu'une redirection temporaire a été utilisée à la place d'une redirection permanente.
Néanmoins, le serveur fournit ainsi une information différente sur l'état de la ressource.
En cas de modifications d'URL permanentes, vous devez donc vérifier si une redirection permanente est effectivement configurée.
Éviter les chaînes de redirection #
Quel que soit le code d'état utilisé, vous devez éviter les chaînes de redirection inutiles.
Défavorable :
URL A
↓ 301
URL B
↓ 302
URL C
↓ 301
URL D
Si URL D Si c'est là la destination finale effective et qu'il n'y a pas de raisons techniques justifiant des escales, le transfert devrait s'effectuer de la manière la plus directe possible.
URL A
↓ 301
URL D
Éviter les boucles de redirection #
Une boucle de redirection se produit lorsque des règles de redirection se renvoient mutuellement vers le point de départ.
URL A
↓
URL B
↓
URL C
↓
URL A
Cela ne permet pas d'atteindre un objectif définitif.
Dans ce genre de cas, les navigateurs indiquent généralement qu'il y a eu trop de redirections.
Vérifier techniquement les redirections #
Si vous voulez savoir quel code d'état est réellement renvoyé, la barre d'adresse visible du navigateur ne suffit pas à elle seule.
Le navigateur peut certes vous guider vers la bonne destination, mais cela ne vous permet pas de déterminer avec certitude si, par exemple 301, 302, 307 ou 308 a été utilisé.
Pour le contrôle technique, vous pouvez notamment utiliser la vue réseau des outils de développement d'un navigateur moderne.
On peut y examiner la réponse HTTP de la requête initiale.
Classer correctement les codes d'état HTTP #
Les redirections appartiennent au groupe des codes d'état HTTP dans la plage 3xx.
D'autres groupes de codes d'état ont d'autres tâches.
Exemples :
2xx → requête réussie
3xx → redirection
4xx → problème avec la requête / ressource
5xx → erreur côté serveur
Nous expliquons les codes d'état les plus importants plus en détail sous Codes d'état HTTP expliqués : 200, 301, 404, 403 et 500.
Quel est le rapport entre une erreur 404 et les redirections ? #
Si une page a été définitivement déplacée vers une nouvelle URL, mais que l'ancienne URL est simplement supprimée, un accès à l'ancienne adresse avec 404 Non trouvé enfin.
S'il existe un successeur dont le contenu est pertinent, une redirection permanente vers cette nouvelle ressource peut s'avérer judicieuse.
Cependant, cela ne signifie pas que chaque erreur 404 doit être automatiquement redirigée.
Nous expliquons comment évaluer correctement les URL qui n'existent plus sur Trouver et corriger l'erreur 404.
Les redirections dans le navigateur peuvent être mises en cache #
Les navigateurs peuvent notamment mettre en cache des redirections permanentes.
Si vous venez de modifier une règle et que vous observez toujours le comportement précédent, vous devriez également tester l'URL dans une fenêtre de navigation privée ou dans un autre navigateur.
Pour un examen technique fiable, la réponse HTTP réelle est également cruciale.
Redirections HTTPS #
Les redirections sont également souvent utilisées pour rediriger les requêtes HTTP vers HTTPS.
Exemple :
http://example.com/
↓
https://example.com/
Pour cela, la redirection et la configuration SSL/HTTPS doivent correspondre.
Si HTTPS lui-même ne fonctionne pas correctement, il convient d'abord d'élucider la cause du problème SSL ou de certificat.
Nous aborderons ce sujet plus tard sous Vérification du certificat SSL et de HTTPS : identifier les erreurs courantes.
Retester les redirections après des modifications #
Si tu modifies une règle de redirection existante, tu ne dois pas te contenter de vérifier la nouvelle destination par la suite.
Vérifie également qu'aucune chaîne ou boucle supplémentaire n'a ainsi été créée.
S'agissant de plusieurs règles connexes, il est recommandé de tester de l'URL la plus ancienne encore connue jusqu'à la destination finale.
Aide à la décision #
URL déplacée de manière permanente ?
│
├── OUI
│ │
│ ├── URL de page normale → souvent 301
│ │
│ └── La méthode doit impérativement
│ être conservée → 308
│
└── NON
│
├── redirection temporaire → 302
│
└── La méthode doit impérativement
être conservée → 307
Cette représentation sert d'orientation. Pour les applications complexes, les API ou les flux de requêtes spécifiques, il convient de tenir compte du cas d'utilisation technique concret.
Résumé #
Les codes d'état 301, 302, 307 et 308 servent tous à rediriger une requête HTTP, mais ont des significations différentes.
301 et 308 marquent des redirections permanentes. 302 et 307 représentent des redirections temporaires.
Chez 307 et 308 la méthode HTTP d'origine et le corps de la requête doivent être conservés. Cette différence est particulièrement pertinente pour les formulaires, les API et autres requêtes non-GET.
Pour la modification permanente classique d'une URL de site Web normale, une redirection 301 reste un cas d'utilisation typique.
Ne choisissez pas une redirection en fonction de prétendus avantages SEO, mais selon ce qui se passe techniquement : permanent ou temporaire, et si la méthode HTTP d'origine doit être préservée.