HTTP 308 Permanent Redirect
Une redirection permanente avec des règles strictes : l'URL a déménagé définitivement, et la requête doit être répétée sans changement.
Ce que signifie HTTP 308
HTTP 308 Permanent Redirect est le pendant de 301 qui préserve la méthode. La ressource a définitivement déménagé vers l'URL de Location, et les clients doivent y répéter la requête sans changer la méthode ni omettre le corps.
C'est surtout important pour les API : si un endpoint acceptant POST ou PUT déménage de façon permanente, un 301 pourrait faire réessayer silencieusement d'anciens clients en GET et perdre le payload. Un 308 garde l'écriture intacte.
Causes courantes des réponses 308
- Un endpoint d'API acceptant des écritures a déménagé de façon permanente vers un nouveau chemin ou domaine.
- Une canonicalisation au niveau infrastructure (par exemple Cloudflare ou un load balancer) configurée pour préserver les méthodes.
- Un framework utilisant 308 par défaut pour la normalisation du slash final (Next.js, certains CDN).
Bonnes pratiques pour les développeurs
- Préférez 308 à 301 chaque fois que des requêtes non-GET peuvent atteindre l'ancienne URL.
- Comme pour 301, redirigez en un seul saut et gardez la redirection en place sur le long terme.
- Vérifiez que les anciens clients d'API gèrent 308 — de très anciennes bibliothèques HTTP peuvent ne pas la suivre automatiquement.
Exemple de réponse
HTTP/1.1 308 Permanent Redirect Location: https://api.example.com/v2/upload
Impact SEO
Pour les moteurs de recherche, un 308 équivaut à un 301 : un déplacement permanent qui transfère les signaux d'indexation et de classement vers l'URL cible. Choisissez entre les deux en fonction des clients, pas du SEO.
FAQ
308 est-il identique à 301 pour le SEO ?
Oui — Google traite les deux comme un déplacement permanent et transfère les signaux vers la nouvelle URL.
Quand 308 est-il requis plutôt que 301 ?
Lorsque les requêtes redirigées peuvent être des POST, PUT, PATCH ou DELETE et que la méthode et le corps doivent être préservés.
Tous les navigateurs prennent-ils en charge 308 ?
Tous les navigateurs modernes le font. Seuls de très anciens clients (par exemple IE de l'ère Windows 7, d'antiques bibliothèques HTTP) avaient des lacunes.