web-dev-qa-db-fra.com

"Merci pour votre commentaire. Veuillez patienter pendant que vous êtes redirigé." Nécessaire?

Merci d'avoir posté. Veuillez patienter pendant que vous êtes redirigé.

Si vous n'êtes pas automatiquement redirigé, veuillez cliquer ici.

Vous connaissez probablement de tels messages, en particulier lorsque vous utilisez le Web dans les années 90 ou au début des années 2000. Dans mes propres projets, je n'ai jamais trouvé de raison d'obliger l'utilisateur à attendre 2-3 secondes pendant qu'il est redirigé après l'enregistrement ou la publication de quelque chose, par exemple. Mais cette tendance se répète tout le temps, même dans les logiciels Web populaires tels que PHPBB.

Ma question est la suivante: la redirection a-t-elle encore une place/un besoin dans le développement Web moderne (ajaxy)? Existe-t-il des situations qui nécessitent absolument une redirection de ce type, ce qui finit par gêner l'utilisateur et quelles sont les raisons techniques derrière elles? Pourquoi ne pas simplement rediriger instantanément si une redirection est nécessaire?

11
Lotus Notes

Y a-t-il des situations qui nécessitent absolument une redirection de ce type, qui finit par gêner l'utilisateur, et quelles sont les raisons techniques qui les sous-tendent?

L'intention la plus courante (généralement dans le cas d'une demande qui crée un nouvel enregistrement dans une base de données, traite une transaction de paiement, etc.) est d'empêcher les demandes en double si l'utilisateur cliquait sur le bouton "Actualiser" et republiait la demande.

La redirection a-t-elle encore une place/un besoin dans le développement Web moderne (ajaxy)?

Si vous parvenez à dire aux utilisateurs dont le Javascript est désactivé que leurs demandes seront ignorées ou éventuellement mal traitées (le "Ne cliquez pas sur soumettre plus d'une fois!" le message vous vient à l'esprit) bien sûr - mais ce n'est pas le cas un énorme effort pour prendre en charge les utilisateurs bizarres handicapés par JS et pour s’assurer que le service de facturation ne voit pas la plainte occasionnelle de double facturation, de sorte que la redirection d’une certaine sorte est toujours implémentée dans de nombreuses interfaces.

Pourquoi ne pas simplement rediriger instantanément si une redirection est nécessaire?

La redirection devrait être émise instantanément si l'objectif est d'empêcher l'envoi de formulaires multiples. Dans le cas de redirections temporisées, elles sont peut-être destinées à des serveurs peu performants. 'n'ont pas réussi à prendre en compte un verrou basé sur une session, ou ils essaient de résoudre un problème plus ésotérique.

3
danlefree

Tout d’abord, tous les navigateurs ne redirigeront pas l’en-tête Location. Deuxièmement, tous les navigateurs ne redirigeront pas avec Javascript car celui-ci est désactivé. Troisièmement, tous les navigateurs ne prendront pas en charge les balises Meta-refresh. N'importe lequel de ces cas est probablement très rare, donc cela n'aura probablement aucune importance. Mais même si c'est le cas, vous pouvez superposer toutes ces méthodes, je pense.

La façon dont les pages PHPBB le fait (attend 5 secondes ou plus) n’est pas du tout nécessaire. Il doit rediriger immédiatement et s'il ne le fait pas, il affichera la page HTML (qui contient méta-refresh et Javascript et du texte avec un lien) après avoir envoyé les en-têtes. Il n'y a presque aucune chance que cette page soit réellement affichée par un navigateur classique si elle est programmée correctement.

5
Joe Phillips

J'envoie toujours une redirection dans l'en-tête de la réponse avec le code de statut HTTP approprié (par exemple, 301 ou 302 - voir http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html ), ce qui entraîne une redirection immédiate. Je ne suis au courant d'aucune bonne raison technique pour laquelle une page "Veuillez patienter pendant que vous êtes redirigé" s'affiche.

3
Will Peavy

La raison principale en est qu’un enregistrement est créé sur le site et que vous avez été redirigé. La page pourrait charger Google Analytics, mais les données figureront également dans les weblogs.

Si vous envoyez une redirection à l'aide d'en-têtes HTTP, le navigateur se connecte à l'autre site sans faire de demande supplémentaire auprès du site d'origine. Le suivi basé sur Javascript peut attraper ces sorties, mais il offre au propriétaire du site de meilleures opportunités de suivi.

Dans certains cas, vous pouvez également souhaiter fournir à l'utilisateur une clause de non-responsabilité concernant le fait qu'il soit redirigé. Ceci est particulièrement important pour les webmasters travaillant dans des industries réglementées. Si vous ne travaillez pas dans un secteur réglementé tel que les banques ou les produits pharmaceutiques, vous ne saurez pas trop quelles sont ces exigences.

1
Brian Lyttle

Cela permet également au bouton Précédent de trier correctement.

0
Hello71