HTTP 307 Temporary Redirect

Une redirection temporaire stricte : allez à l'autre URL, et répétez la requête exactement telle que vous l'avez envoyée.

Ce que signifie HTTP 307

HTTP 307 Temporary Redirect fonctionne comme 302 avec une garantie supplémentaire : le client doit répéter la requête vers la nouvelle URL avec la même méthode et le même corps. Un POST redirigé reste un POST — rien n'est silencieusement converti en GET.

Les navigateurs génèrent aussi des 307 en interne : quand un site figure sur la liste de préchargement HSTS, le navigateur met lui-même à niveau http:// vers https:// et affiche « 307 Internal Redirect » dans DevTools sans aucune requête réseau.

Causes courantes des réponses 307

  • Une API redirige temporairement une requête POST/PUT vers un autre endpoint.
  • HSTS : le navigateur met à niveau http:// vers https:// en interne (affiché comme 307 dans DevTools).
  • Délestage de charge ou fenêtres de maintenance qui réacheminent les écritures vers un endpoint de secours.

Bonnes pratiques pour les développeurs

  • Utilisez 307 chaque fois qu'une requête redirigée a un corps qui doit survivre au saut.
  • Pour des déplacements permanents préservant la méthode, utilisez plutôt 308.
  • Rappelez-vous que les clients renvoient le corps complet — évitez 307 pour de très gros téléversements si vous pouvez orienter directement les clients vers la bonne URL.

Exemple de réponse

HTTP/1.1 307 Temporary Redirect
Location: https://api.example.com/v2/orders
Retry-After: 0

FAQ

Quelle est la différence entre 302 et 307 ?

Les deux sont temporaires, mais 307 interdit de changer la méthode de requête — un POST est répété comme un POST. Avec 302, les navigateurs passaient historiquement en GET.

Pourquoi DevTools affiche-t-il « 307 Internal Redirect » ?

Le navigateur a lui-même mis à niveau la requête vers HTTPS (HSTS) sans contacter le serveur. Cela s'affiche comme un 307 synthétique.

Existe-t-il une version permanente de 307 ?

Oui — 308 Permanent Redirect : même règle de préservation de méthode, mais les caches et moteurs de recherche traitent le déplacement comme permanent.