Hostwinds Blog

Résultats de recherche pour:

307 Redirection temporaire: ce que c'est et quand / comment l'utiliser L'image sélectionnée

307 Redirection temporaire: ce que c'est et quand / comment l'utiliser

par: Hostwinds Team  /  Mars 29, 2024


Qu'est-ce qu'un code d'état 307?

La redirection temporaire 307 est un code d'état de réponse HTTP indiquant que la ressource demandée (par exemple la page Web) a été temporairement détournée vers une URL différente.Cependant, contrairement aux codes d'état de redirection temporaire similaires, comme 302 (trouvé) ou 303 (voir autre), le client (par exemple le navigateur Web) est invité à continuer à utiliser la même méthode de demande HTTP pour la nouvelle URL que pour la demande d'origine.

En termes simples, lorsqu'un serveur envoie un code d'état 307 en réponse à la demande d'un navigateur, cela signifie que la ressource demandée s'est déplacée temporairement vers une autre URL.Le navigateur doit suivre la redirection et utiliser la même méthode de demande HTTP (comme Get ou Post), il est utilisé pour l'URL d'origine lors de l'accès au nouveau.

Quand utiliser le code d'état 307

Il existe un certain nombre de raisons pour lesquelles un serveur voudrait que le client (navigateur) continue d'utiliser la même méthode de demande lors de la rediriction vers une nouvelle URL, dont la plupart tourne autour de la sécurité et de la maintenance d'une expérience utilisateur cohérente.

Voici quelques scénarios où le code d'état 307 peut être utilisé efficacement:

Authentification et autorisation: Lorsqu'un client envoie une demande à une ressource qui nécessite une authentification ou une autorisation, le serveur peut répondre avec un code d'état 307 avec l'URL de la page de connexion ou d'autorisation.Cela garantit que le client remonte la demande d'origine (par exemple, Post) après une authentification réussie sans modifier la méthode.

Soumissions de formulaire: Dans les applications Web où les soumissions de formulaires sont impliquées, telles que commerce électronique Processus de paiement ou enquêtes en ligne, s'il est nécessaire de rediriger temporairement l'utilisateur (par exemple, en raison des erreurs d'expiration de session ou de validation), un code d'état 307 peut être utilisé pour maintenir l'intégrité de la méthode de soumission de formulaire.

Entretien ou temps d'arrêt du site temporaire: Pendant la maintenance temporaire ou les temps d'arrêt d'un site Web, les serveurs peuvent avoir besoin de rediriger les demandes entrantes vers une page temporaire.En utilisant un code d'état 307, le serveur garantit que le client suit la redirection sans modifier la méthode HTTP, permettant une transition transparente vers la ressource d'origine une fois la maintenance terminée.

Gestion des modifications de l'emplacement des ressources: Si une ressource a été temporairement déplacée vers un emplacement différent sur le serveur ou un serveur différent, mais devrait revenir à son emplacement d'origine à l'avenir, un code d'état 307 peut être utilisé pour informer les clients de la relocalisation temporaire tout en préservant leMéthode de demande d'origine.

Quand éviter d'utiliser 307 redirections

Bien que 307 codes d'état puissent aider à maintenir l'expérience de la sécurité et à bénéficier de l'utilisateur, ce n'est certainement pas un code de réponse à tous à utiliser sur l'ensemble de votre site.En fait, s'il n'est pas utilisé dans le bon scénario, 307 redirections peuvent avoir un impact négatif sur la funcationlity et l'expérience utilisateur du site.

Voici quelques exemples de quand éviter une redirection 307:

Modifications de l'URL permanentes: Les moteurs de recherche interprètent 307 redirections comme temporaires, donc si vous avez l'intention que la redirection ait des effets à long terme sur SEO, comme le passage des actions de liaison à la nouvelle URL, une redirection 307 pourrait entraver cela.

301 Redirection est le seul code d'état qui doit être utilisé lorsque l'intention est de déplacer en permanence une URL à une autre.

Redirection à l'échelle du site: L'utilisation de codes d'état 307 pour les redirections à l'échelle du site ou en vrac pourrait affecter les performances du serveur, en particulier pour les sites à haute trafic.Le traitement d'un grand nombre de redirectes temporaires peut bogg les ressources du serveur et ralentir les temps de réponse du site, blessant finalement le référencement et l'expérience utilisateur.

Sites Web qui pourraient bénéficier de l'utilisation de 307 Redirection

Alors que la plupart des sites Web pourraient utiliser le code d'état 307 pour une raison ou une autre, il y en a peu qui se démarquent:

Plates-formes de commerce électronique: Les sites Web qui impliquent des paniers d'achat, des processus de paiement et des comptes d'utilisateurs peuvent bénéficier de 307 redirections pendant l'authentification, le traitement des paiements ou la maintenance temporaire.

Des applications Web: Les sites offrant des services en ligne, des outils de productivité ou des plateformes de collaboration peuvent utiliser 307 redirections pour maintenir les séances utilisateur, préserver les soumissions de formulaires ou gérer la relocalisation temporaire des ressources.

Services d'adhésion ou d'abonnement: Les sites Web nécessitant une authentification ou une autorisation des utilisateurs, tels que les sites d'adhésion, les plateformes basées sur l'abonnement ou les systèmes de gestion de contenu, peuvent utiliser 307 redirections pour gérer les séances des utilisateurs et assurer un accès transparent aux ressources protégées.

Formulaires et enquêtes en ligne: Les sites Web hébergeant des formulaires ou des enquêtes qui nécessitent une entrée et une soumission des utilisateurs peuvent utiliser 307 redirections pour gérer les erreurs de validation, les exigences d'authentification ou les interruptions temporaires tout en préservant les données soumises par l'utilisateur.

Plateformes de médias sociaux: Les plates-formes avec du contenu généré par l'utilisateur, des fonctionnalités de messagerie ou des éléments interactifs peuvent bénéficier de 307 redirections pour maintenir le contexte de la session, gérer les changements de ressources temporaires ou gérer les processus d'authentification sans perturber l'expérience utilisateur.

307 Redirection temporaire vs 307 Redirection interne

Le terme "307 redirection interne" est apparu comme un autre type de redirection 307, spécifiquement lié au processus de réalisation de navigateurs de la version HTTP d'un site vers sa version HTTPS.

Alors que les navigateurs tels que Chrome peuvent signaler la redirection de HTTP vers HTTPS en tant que "307 redirection interne", l'action suggérée n'existe tout simplement pas.

Le terme "redirection interne" se réfère généralement à un processus côté serveur où un serveur Web redirige en interne une demande vers une autre ressource ou emplacement dans le même serveur, sans que le client (navigateur) soit conscient de la redirection.Cependant, ce concept n'est pas spécifiquement lié au code d'état 307;Il peut s'appliquer à divers codes d'état HTTP, dont 307.

En termes simples, "307 redirection temporaire" et "307 redirection interne" font référence à la même chose, mais ils ne sont pas associés à la redirection HTTP vers HTTPS.

Les redirectes de HTTP vers HTTPS sont généralement implémentés à l'aide de codes d'état tels que 301 (déplacé en permanence) ou 302 (trouvé), le cas échéant.

301 Redirection est le code d'état standard utilisé pour rediriger en permanence le trafic HTTP vers HTTPS.

Différence entre 302, 303 et 307 Redirection

302, 303 et 307 sont les trois types de redirections temporaires dans la plage de code d'état 3xx, chacune rempli une fonction distincte lors du traitement et publier les demandes HTTP du client (navigateur).

Cette section se concentrera sur la façon dont un client typique réagirait à chaque type de réponse de redirection temporaire, en particulier après avoir initialement fait une demande de poste.

get-post-request-temporary-redirect-process.webp
Qu'est-ce qu'une demande GET?

Une demande GET est utilisée par les navigateurs pour demander / récupérer une page Web à partir d'un serveur Web.Que un utilisateur souhaite visiter une page Web, via un lien cliquez sur un lien ou en entrant une URL dans la barre d'adresse, le navigateur envoie une demande GET au serveur Web, lui demandant de fournir la page Web spécifiée.

Qu'est-ce qu'une demande de poste?

Une demande de poste se produit lorsque l'utilisateur interagit avec une page Web en soumettant des données, telles qu'une soumission de formulaire ou un téléchargement de fichiers, sur le serveur Web.Ces données sont ensuite traitées ou stockées par le serveur, permettant à la page Web d'effectuer une action spécifique en fonction de l'entrée de l'utilisateur.

302 Redirection

Lorsqu'un client (navigateur) rencontre une réponse 302 à partir d'un serveur Web, il fait suite à une demande GET pour accéder à la nouvelle URL fournie par le serveur.Cela se produira, que la demande originale du client soit obtenu ou publié.

Cela pourrait entraîner des problèmes si le client envoyait à l'origine une demande de poste.

Par exemple, si un utilisateur soumet des informations, telles qu'un formulaire d'achat, en utilisant une demande de poste et que le serveur répond avec une redirection 302, le navigateur enverra automatiquement une demande GET.Par conséquent, les informations de la demande de poste d'origine peuvent ne pas atteindre le serveur pour le traitement.

303 Redirection

Une redirection 303 fonctionne de manière similaire vers un 302 Redirection En invitant le client à suivre la méthode GET, quelle que soit la méthode de demande d'origine.

Cependant, si la demande d'origine est une demande de post, une réponse de redirection 303 oblige le client à inviter l'utilisateur à confirmer la demande de GET de suivi avant de l'envoyer au serveur.

Comme 302 Redirection, en utilisant 303 redirections pour les pages Web de soumission de données (par exemple, les remplissages de formulaires et les téléchargements de fichiers) pourraient entraîner des données fragmentées ou perdues.

307 Redirection

Contrairement aux redirections 302 et 303, 307 Redirection conservent la méthode de demande d'origine (obtenir ou publier) après la redirection.En termes simples, une demande de poste reste en tant que demande de poste et une demande de GET reste en tant que demande de GET après la redirection.

Cela fait de 307 redirection le meilleur choix pour la soumission des données aux serveurs Web, car il assure à la fois le transfert sécurisé et la livraison précise des informations du client au serveur.

4 façons de mettre en œuvre 307 Redirection

Il existe plusieurs méthodes pour mettre en œuvre une redirection 307 vers votre site.Celui qui fonctionne le mieux pour vous dépendra de votre niveau de confort avec le codage et si vous exécutez ou non un CMS (WordPress, Drupal, Joomla, etc.).

Quelle que soit la méthode que vous choisissez, assurez-vous de créer d'abord une sauvegarde de votre site, ou à tout le moins le fichier sur lequel vous travaillez.Nous ne pouvons pas souligner le Importance de la sauvegarde des données, surtout lorsque vous travaillez dans le fichier .htaccess.

Utilisation du fichier .htaccess

1. Accédez au fichier .htaccess dans le répertoire racine de votre site Web.

2. Ajoutez la ligne suivante au fichier .htaccess:

Redirect 307 /old-page.html http://example.com/new-page.html

3. Remplacer /old-page.html par l'ancienne URL et http://example.com/new-page.html avec la nouvelle URL.

4. Enregistrez les modifications dans le fichier .htaccess et testez la redirection.

Utilisation de scripts côté serveur (PHP)

1. Créez un nouveau fichier PHP (par exemple, redirect.php) sur votre serveur.

2. Ajoutez le code PHP suivant au fichier:

<?php

header("HTTP/1.1 307 Temporary Redirect");

header("Location: http://example.com/new-page.html");

exit();

?>

3. Remplacez http://example.com/new-page.html par l'URL que vous souhaitez rediriger.

4. Enregistrez le fichier et téléchargez-le sur votre serveur.

5. Accédez au fichier dans votre navigateur pour vous assurer que la redirection fonctionne.

Utilisation de la configuration du serveur (hôte virtuel Apache)

1. Accédez au fichier de configuration de votre serveur (par exemple, httpd.conf ou apache2.conf).

2. Ajoutez les lignes suivantes dans le bloc <VirtualHost> ou <Ar répertoire> approprié:

Redirect 307 /old-page.html http://example.com/new-page.html

3. Enregistrez les modifications dans le fichier de configuration et redémarrez le serveur Apache pour appliquer les modifications.

4. Testez la redirection en accédant à l'ancienne URL de votre navigateur.

Utilisation des plugins

Pour les sites qui utilisent un CMS (Système de gestion de contenu), comme WordPress ou Weebly, la mise en œuvre de 307 redirections est aussi simple que de le faire via un plugin.

Trouvez un plugin que vous aimez, téléchargez-le et suivez simplement les instructions sur la façon d'implémenter la redirection 307.

Écrit par Hostwinds Team  /  Mars 29, 2024