Contenu

    Réponse du serveur 307 Temporary Redirect

    Définition et objectif du code de statut 307

    Le code de statut HTTP 307 (Temporary Redirect) indique un redirection temporaire d'un client vers une autre URL. Ce code est utilisé pour informer le client que la ressource demandée est temporairement disponible à une autre adresse, et que les requêtes suivantes doivent être envoyées à la nouvelle URL, qui est fournie dans l'en-tête Location.

    307 - Temporary Redirect

    Description du code de statut 307

    Le code 307 fait partie des codes de redirection HTTP. Contrairement à un redirection permanente, le 307 indique que l'ancienne URL peut être utilisée à nouveau dans le futur. Cela permet de maintenir l'intégrité des méthodes de requête HTTP, en s'assurant que les requêtes POST restent des requêtes POST.

    Situations où le code 307 est utilisé

    • Maintenance temporaire du site web.
    • Tests A/B pour évaluer différentes versions d'une page.
    • Redirections basées sur des considérations géographiques.

    Différences avec d'autres codes de redirection (301, 302)

    Code Type de redirection Méthodes HTTP
    301 Permanente Change les méthodes (GET devient POST)
    302 Temporaire Change les méthodes (GET devient POST)
    307 Temporaire Conserve les méthodes (POST reste POST)

    Exemples pratiques d'utilisation du code de statut 307

    Exemple 1 : Mise à jour temporaire de l'URL pour maintenance

    Lorsqu'un site subit des travaux de maintenance, il peut être nécessaire de rediriger les utilisateurs vers une page temporaire.

    Scénario

    Redirection de la page d'accueil vers une page de maintenance.

    Comment le réaliser sur le serveur

    1. Configurer le serveur pour envoyer un statut 307.
    2. Inclure l'en-tête Location avec l'URL de la page de maintenance.

    Exemple 2 : Test A/B

    Pour évaluer l'expérience utilisateur, un site peut rediriger temporairement les utilisateurs vers différentes versions d'une page.

    Scénario

    Redirection des utilisateurs vers une version alternative d'une page produit.

    Comment le réaliser sur le serveur

    1. Utiliser un script pour déterminer quelle version afficher.
    2. Envoyer un statut 307 avec l'en-tête Location vers la version choisie.

    Exemple 3 : Redirection géolocalisée

    Les sites peuvent rediriger les utilisateurs vers un contenu localisé en fonction de leur emplacement.

    Scénario

    Redirection d'un utilisateur vers la version française d'un site si son adresse IP indique qu'il se trouve en France.

    Comment le réaliser sur le serveur

    1. Déterminer l'emplacement de l'utilisateur à l'aide de son adresse IP.
    2. Envoyer un statut 307 avec l'en-tête Location vers le contenu localisé.

    Comment corriger l'erreur 307 dans différents langages de programmation

    Exemple en Python (Flask)

    Code provoquant l'erreur 307

    return redirect('/new-url', code=307)

    Modes de correction

    Vérifier si l'URL cible est correcte et s'assurer que la méthode de requête est respectée.

    Exemple en JavaScript (Node.js avec Express)

    Code provoquant l'erreur 307

    res.redirect(307, '/new-url');

    Modes de correction

    Confirmer que l'URL de destination est bien configurée et que la méthode de requête est appropriée.

    Exemple en PHP

    Code provoquant l'erreur 307

    header('Location: /new-url', true, 307);

    Modes de correction

    Assurer que l'en-tête Location est correctement configuré et que le serveur gère les méthodes de requête.

    Erreurs et problèmes liés au code 307

    Erreurs courantes entraînant une erreur 307

    • URL mal configurée dans l'en-tête Location.
    • Utilisation inappropriée des méthodes HTTP.
    • Redirection en boucle.

    Comment éviter une utilisation incorrecte du code 307

    Utiliser le code 307 uniquement lorsque la redirection est temporaire et que les méthodes de requête doivent être conservées. Vérifier régulièrement les configurations du serveur pour éviter les erreurs.

    Recommandations pour l'utilisation du statut 307

    Meilleures pratiques pour l'implémentation de redirections temporaires

    • Documenter les redirections pour assurer la clarté.
    • Tester minutieusement les redirections avant de les mettre en production.

    Conseils pour tester et déboguer les redirections

    Utiliser des outils de développement web pour suivre les redirections et vérifier que les en-têtes sont correctement configurés. Effectuer des tests sur différents navigateurs pour s'assurer de la compatibilité.