Vielen Dank für die Veröffentlichung. Bitte warten Sie, während Sie umgeleitet werden.
Wenn Sie nicht automatisch umgeleitet werden, klicken Sie bitte hier.
Mit solchen Nachrichten sind Sie wahrscheinlich vertraut, insbesondere wenn Sie in den 90er oder frühen 2000er Jahren das Internet nutzen. In meinen eigenen Projekten habe ich nie einen Grund gefunden, den Benutzer 2-3 Sekunden warten zu lassen, während er beispielsweise nach der Registrierung oder dem Posten von Informationen umgeleitet wird. Aber dieses Muster tritt immer wieder auf, selbst in populärer Web-Software wie PHPBB.
Meine Frage ist, hat die Umleitung noch einen Platz / Bedarf in der modernen (Ajaxy-) Webentwicklung? Gibt es Situationen, die eine solche Umleitung unbedingt erfordern und den Benutzer letztendlich nerven, und was sind die technischen Gründe dafür ? Warum nicht einfach sofort umleiten, wenn eine Umleitung erforderlich ist?
quelle
Antworten:
Die häufigste Absicht (im Allgemeinen bei einer Anforderung, die einen neuen Datensatz in einer Datenbank erstellt, einen Zahlungsvorgang verarbeitet usw.) ist die Verhinderung doppelter Anforderungen, falls der Benutzer auf die Schaltfläche "Aktualisieren" klickt und die Anforderung erneut sendet.
Wenn Sie es schaffen, Benutzern mit deaktiviertem Javascript mitzuteilen, dass ihre Anforderungen ignoriert oder möglicherweise falsch behandelt werden (die Meldung "Nicht mehr als einmal auf Senden klicken!", Wird Ihnen in den Sinn kommen), ist dies sicher kein großer Aufwand, um diese skurrilen Probleme zu unterstützen JS-deaktivierte Benutzer und stellen sicher, dass die Abrechnungsabteilung nicht gelegentlich Beschwerden über die doppelte Abrechnung sieht, sodass eine Umleitung in vielen Schnittstellen immer noch implementiert ist.
Die Weiterleitung sollte sofort erfolgen, wenn das Ziel darin besteht, das Übermitteln mehrerer Formulare zu verhindern. Bei zeitgesteuerten Weiterleitungen sind sie möglicherweise auf träge Server ausgerichtet, haben eine sitzungsbasierte Sperre nicht berücksichtigt oder versuchen dies ein esoterischeres Problem lösen.
quelle
F5
auf derStand by
Seite auch das erneute Senden von Posts verursacht wird.Erstens werden nicht alle Browser umgeleitet, wenn ein Standort-Header angegeben wird. Zweitens leiten nicht alle Browser mit Javascript um, da es deaktiviert ist. Drittens unterstützen nicht alle Browser die Meta-Refresh-Tags. Jeder dieser Fälle ist wahrscheinlich sehr selten, daher spielt es wahrscheinlich keine Rolle. Aber selbst wenn dies der Fall ist, können Sie alle diese Methoden, denke ich, überlappen.
Die Art und Weise, wie die PHPBB-Seiten dies tun (wartet 5 Sekunden oder so), wird überhaupt nicht benötigt. Es sollte sofort umgeleitet werden. Wenn dies nicht der Fall ist, wird nach dem Senden der Header die HTML-Seite (mit Meta-Refresh und Javascript sowie Text mit einem Link) angezeigt. Es gibt fast keine Chance, dass diese Seite tatsächlich von einem normalen Browser angezeigt wird, wenn sie richtig programmiert ist.
quelle
header()
Funktion möglicherweise ignoriert wird? Das macht mir große Sorgen. Ich war mir bereits der HTML- und JS-Umleitungsmethoden bewusst und wie weniger zuverlässig sie sind, aber ich hätte nie gedacht, dass ein serverseitig gesendeter HTTP-Header tatsächlich ignoriert werden könnte.Ich sende immer eine Weiterleitung im Antwortheader mit dem richtigen HTTP-Statuscode (z. B. 301 oder 302 - siehe http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html ), was zu einer sofortigen Weiterleitung führt. Mir sind keine guten technischen Gründe bekannt, warum jemand ein "Bitte warten, während Sie umgeleitet werden" anzeigt.
quelle
Der Hauptgrund dafür ist, dass auf der Site, die Sie umgeleitet haben, ein Datensatz erstellt wird. Die Seite könnte Google Analytics laden, aber die Daten werden auch in den Weblogs gespeichert.
Wenn Sie eine Weiterleitung über HTTP-Header senden, wechselt der Browser zur anderen Site, ohne zusätzliche Anforderungen an die ursprüngliche Site zu stellen. Javascript-basiertes Tracking kann diese Exits abfangen, bietet dem Websitebesitzer jedoch bessere Möglichkeiten zum Tracking.
In einigen Fällen möchten Sie dem Benutzer möglicherweise auch einen Haftungsausschluss geben, wenn dieser umgeleitet wird. Dies ist besonders wichtig für Webmaster, die in regulierten Branchen arbeiten. Wenn Sie nicht in einer regulierten Branche wie Banken oder Pharmazeutika arbeiten, werden Sie diese Anforderungen nicht besonders schätzen.
quelle
Außerdem kann mit der Zurück-Taste ordnungsgemäß gearbeitet werden.
quelle