Hostwinds Blog


307 Temporäre Weiterleitungen: Was es ist und wann/wie man es benutzt Ausgewähltes Bild

307 Temporäre Weiterleitungen: Was es ist und wann/wie man es benutzt

durch: Hostwinds Team  /  März 29, 2024


Was ist ein 307 Statuscode?

Der 307 Temporary Redirect ist ein HTTP -Antwortstatuscode, der angibt, dass die angeforderte Ressource (z. B. Webseite) vorübergehend in eine andere URL umgeleitet wurde.Im Gegensatz zu ähnlichen temporären Umleitungsstatuscodes wie 302 (gefunden) oder 303 (siehe andere) wird dem Client (z. B. Webbrowser) gesagt.

Einfach ausgedrückt, wenn ein Server als Antwort auf die Anfrage eines Browsers einen 307 -Statuscode sendet, bedeutet dies, dass die angeforderte Ressource sich vorübergehend auf eine andere URL verschoben hat.Der Browser sollte der Umleitung folgen und dieselbe HTTP -Anforderungsmethode verwenden (z. B. GET oder POST) für die ursprüngliche URL beim Zugriff auf die neue.

Wann verwenden Sie den 307 -Statuscode

Es gibt eine Reihe von Gründen, warum ein Server möchte, dass der Client (Browser) weiterhin dieselbe Anforderungsmethode anwendet, wenn sie in eine neue URL umgeleitet wird, von denen die meisten sich um die Sicherheit und die Aufrechterhaltung einer konsistenten Benutzererfahrung drehen.

Hier sind einige Szenarien, in denen der 307 -Statuscode effektiv verwendet werden kann:

Authentifizierung und Autorisierung: Wenn ein Client eine Anfrage an eine Ressource sendet, die eine Authentifizierung oder Autorisierung erfordert, kann der Server zusammen mit der URL der Anmeldungs- oder Autorisierungsseite mit einem 307 -Statuscode antworten.Dies stellt sicher, dass der Client die ursprüngliche Anforderung (z. B. Post) nach erfolgreicher Authentifizierung wiederholt, ohne die Methode zu ändern.

Formulareinführungen: In Webanwendungen, in denen Formulareinreichungen beteiligt sind, wie z. E-Commerce Checkout -Prozesse oder Online -Umfragen, wenn der Benutzer vorübergehend umgeleitet werden muss (z. B. aufgrund von Sitzungsfehlern oder Validierungsfehlern), kann ein Statuscode von 307 verwendet werden, um die Integrität der Formulareinstellungsmethode aufrechtzuerhalten.

Vorübergehende Wartung oder Ausfallzeiten vor Ort: Während der vorübergehenden Wartung oder Ausfallzeit einer Website müssen Server möglicherweise eingehende Anforderungen auf eine vorübergehende Seite umleiten.Durch die Verwendung eines Statuscodes von 307 stellt der Server sicher, dass der Client der Umleitung befolgt, ohne die HTTP -Methode zu ändern, sodass ein nahtloser Übergang zur ursprünglichen Ressource zurückgeführt wird, sobald die Wartung abgeschlossen ist.

Umgang mit Ressourcenstandortänderungen: Wenn eine Ressource vorübergehend an einen anderen Speicherort auf dem Server oder einen anderen Server verschoben wurde, wird jedoch erwartet, dass er in Zukunft an seinen ursprünglichen Standort zurückkehrt, ein 307 -Statuscode kann verwendet werden, um Clients über den temporären Umzug zu informieren, während die Vorbehalts erhalten wird und gleichOriginalanforderungsmethode.

Wann vermeiden Sie die Verwendung von 307 Weiterleitungen

Während 307 Statuscodes dazu beitragen können, die Sicherheits- und Nutzen-Benutzererfahrung aufrechtzuerhalten, ist es sicherlich kein Catch-All-Antwortcode auf Ihrer gesamten Website.Wenn nicht im richtigen Szenario verwendet wird, können sich 307 Ausleitungen negativ auf die Funktionsweise und die Benutzererfahrung der Website auswirken.

Hier sind einige Beispiele für die Vermeidung einer 307 -Umleitung:

Permanente URL -Änderungen: Suchmaschinen interpretieren 307 Weiterleitungen als vorübergehend. Wenn Sie also beabsichtigen, langfristige Auswirkungen auf die Umleitung zu haben SEO, wie z. B. das Übergeben von Link -Eigenkapital an die neue URL, könnte eine 307 -Umleitung dies behindern.

301 Umleitung ist der einzige Statuscode, der verwendet werden sollte, wenn es beabsichtigt ist, eine URL dauerhaft in eine andere zu verschieben.

Standortweite Weiterleitungen: Die Verwendung von 307 Statuscodes für ortsweite oder massenhafte Weiterleitungen kann sich auf die Serverleistung auswirken, insbesondere für hochverkehrsbedingte Standorte.Die Verarbeitung einer großen Anzahl von temporären Weiterleitungen kann die Ressourcen des Servers verkleinern und die Reaktionszeiten der Website verlangsamen und letztendlich die SEO- und Benutzererfahrung beeinträchtigen.

Websites, die von der Verwendung von 307 Umleitung profitieren könnten

Während die meisten Websites den 307 -Statuscode aus dem einen oder anderen Grund verwenden könnten, gibt es nur wenige, die sich herausheben:

E-Commerce-Plattformen: Websites mit Einkaufswagen, Checkout -Prozessen und Benutzerkonten können von 307 Weiterleitungen während der Authentifizierung, Zahlungsabwicklung oder vorübergehender Wartung profitieren.

Web Applikationen: Websites, die Online -Dienste, Produktivitätstools oder Collaboration -Plattformen anbieten, können 307 Weiterleitungen verwenden, um Benutzersitzungen zu pflegen, die Einreichungen von Formularen zu bewahren oder eine vorübergehende Verlagerung von Ressourcen zu bewältigen.

Mitgliedschafts- oder Abonnementdienste: Websites, die die Benutzerauthentifizierung oder Autorisierung benötigen, z. B. Mitgliedseiten, abonnementbasierte Plattformen oder Content-Management-Systeme, können 307 Weiterleitungen zur Verwaltung von Benutzersitzungen verwenden und einen nahtlosen Zugriff auf geschützte Ressourcen gewährleisten.

Online -Formulare und Umfragen: Websites Hosting-Formulare oder Umfragen, bei denen die Eingabe und Einreichung von Benutzern erforderlich ist, können 307 Weiterleitungen zur Verarbeitung von Validierungsfehlern, Authentifizierungsanforderungen oder temporären Unterbrechungen verwenden und gleichzeitig die vom Benutzer eingereichten Daten erhalten.

Social -Media -Plattformen: Plattformen mit benutzergenerierten Inhalten, Messaging-Funktionen oder interaktiven Elementen können von 307 Weiterleitungen profitieren, um den Sitzungskontext zu erhalten, temporäre Ressourcenänderungen zu verarbeiten oder Authentifizierungsprozesse zu verwalten, ohne die Benutzererfahrung zu stören.

307 Temporärer Umweis gegen 307 interne Umleitung

Der Begriff "307 interne Umleitung" wurde als eine andere Art von 307 Umleitung angezeigt, die speziell an den Prozess der Regisseur von Browsern aus der HTTP -Version einer Website an seine HTTPS -Version gebunden ist.

Während Browser wie Chrome die Umleitung von HTTP zu HTTPS als "307 interne Umleitung" melden können, existiert die vorgeschlagene Aktion einfach nicht.

Der Begriff "interner Umleitungsvorricht" bezieht sich normalerweise auf einen serverseitigen Prozess, bei dem a Webserver Interne leitet eine Anfrage an eine andere Ressource oder einen anderen Speicherort innerhalb desselben Servers weiter, ohne dass der Client (Browser) der Umleitung kennt.Dieses Konzept ist jedoch nicht speziell mit dem Statuscode von 307 gebunden.Es kann für verschiedene HTTP -Statuscodes gelten, einschließlich 307.

Einfach ausgedrückt, "307 Temporary Direct" und "307 Interne Redirect" beziehen sich auf dasselbe, aber sie sind nicht mit der Umleitung von HTTP zu HTTPS verbunden.

Weiterleitungen von HTTP in HTTPS werden typischerweise unter Verwendung von Statuscodes wie 301 (dauerhaft bewegt) oder 302 (gefunden) implementiert.

301 Umleitung ist der Standard -Statuscode, der zur dauerhaften Umleitung des HTTP -Verkehrs auf HTTPS verwendet wird.

Unterschied zwischen 302, 303 und 307 Weiterleitungen

302, 303 und 307 sind die drei Arten von temporären Weiterleitungen innerhalb des 3xx -Statuscodebereichs, die jeweils eine bestimmte Funktion ausführen, wenn sie GET -HTTP -Anforderungen vom Client (Browser) verarbeiten und nach HTTP -Anforderungen verarbeiten.

Dieser Abschnitt konzentriert sich darauf, wie ein typischer Kunde auf jede Art der temporären Umleitungsantwort reagiert, insbesondere nach zunächst eine Postanforderung.

get-post-request-temporary-redirect-process.webp
Was ist eine Get -Anfrage?

Eine GET -Anforderung wird von Browsern verwendet, um eine Webseite von einem Webserver anzufordern/abzurufen.Unabhängig davon, ob ein Benutzer eine Webseite besuchen möchte, über einen Link klicken oder eine URL in die Adressleiste eingeben, sendet der Browser eine GET -Anforderung an den Webserver und fordert sie auf, die angegebene Webseite anzugeben.

Was ist eine Postanfrage?

Eine Postanforderung erfolgt, wenn der Benutzer mit einer Webseite mit einer Webseite interagiert, indem sie Daten, z. B. eine Formulare oder Datei -Upload, an den Webserver senden.Diese Daten werden dann vom Server verarbeitet oder gespeichert, sodass die Webseite eine bestimmte Aktion basierend auf der Eingabe des Benutzers ausführen kann.

302 Umleitung

Wenn ein Client (Browser) auf eine Antwort von 302 von einem Webserver stößt, folgt eine GET -Anforderung, auf die vom Server bereitgestellte neue URL zuzugreifen.Dies wird geschehen, unabhängig davon, ob die ursprüngliche Anfrage des Kunden erhältlich oder post war.

Dies kann zu Problemen führen, wenn der Kunde ursprünglich eine Postanfrage gesendet hat.

Wenn ein Benutzer beispielsweise Informationen wie ein Kaufformular unter Verwendung einer Postanforderung und der Server mit einer 302 -Weiterleitung einreicht, sendet der Browser automatisch eine GET -Anforderung.Infolgedessen erreichen die Informationen aus der ursprünglichen Postanforderung den Server möglicherweise nicht zur Verarbeitung.

303 Umleitung

Eine 303 -Umleitung Funktionen ähnlich wie eine 302 -Umleitung, indem der Client unabhängig von der ursprünglichen Anforderungsmethode mit der GET -Methode nachverfolgt wird.

Wenn die ursprüngliche Anfrage jedoch eine Postanforderung ist, muss der Client von einer Reaktion von 303 Umleitungen den Benutzer aufgefordert, die Follow-up-Anforderung zu bestätigen, bevor sie an den Server gesendet werden.

Ebenso wie 302 Weiterleitungen können die Verwendung von 303 Weiterleitungen für Datenübermittlungswebseiten (z. B. Formulare und Datei -Uploads) zu fragmentierten oder verlorenen Daten führen.

307 Umleitung

Im Gegensatz zu 302 und 303 Weiterleitungen erhalten 307 Umleitungen nach Umleitung die ursprüngliche Anforderungsmethode (GET oder Post).Einfach ausgedrückt, eine Postanforderung bleibt als Post -Anfrage und eine Get -Anfrage als Get -Anfrage nach der Umleitung.

Dies macht 307 die beste Wahl für die Einreichung von Daten auf Webserver, da sie sowohl die sichere Übertragung als auch die genaue Bereitstellung von Informationen vom Client zum Server sicherstellen.

4 Möglichkeiten zur Implementierung von 307 Umleitung

Es gibt verschiedene Methoden zur Implementierung einer 307 -Umleitung auf Ihre Website.Derjenige, der für Sie am besten geeignet ist, hängt von Ihrem Komfortniveau mit Codierung ab und ob Sie ein CMS ausführen (WordPress, Drupal, Joomla usw.).

Unabhängig von der von Ihnen ausgewählten Methode erstellen Sie zuerst eine Sicherung Ihrer Website oder zumindest die Datei, an der Sie arbeiten.Wir können das nicht betonen Bedeutung der Datensicherungbesonders wenn sie innerhalb der .htaccess -Datei arbeiten.

Verwenden von .htaccess -Datei

1. Greifen Sie im Stammverzeichnis Ihrer Website auf die Datei .htaccess zu.

2. Fügen Sie der .htaccess -Datei die folgende Zeile hinzu:

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

3. Ersetzen Sie/mold-page.html durch die alte URL und http://example.com/new-page.html durch die neue URL.

4. Speichern Sie die Änderungen an der .htaccess -Datei und testen Sie die Umleitung.

Verwenden von serverseitigem Skript (PHP)

1. Erstellen Sie auf Ihrem Server eine neue PHP -Datei (z. B. redirect.php).

2. Fügen Sie der Datei den folgenden PHP -Code hinzu:

<?php

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

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

exit();

?>

3. Ersetzen Sie http://example.com/new-page.html durch die URL, auf die Sie umleiten möchten.

4. Speichern Sie die Datei und laden Sie sie auf Ihren Server hoch.

5. Greifen Sie in Ihrem Browser auf die Datei zu, um sicherzustellen, dass die Umleitung funktioniert.

Verwenden der Serverkonfiguration (apache virtueller Host)

1. Greifen Sie auf die Konfigurationsdatei Ihres Servers (z. B. httpd.conf oder apache2.conf) zu.

2. Fügen Sie die folgenden Zeilen innerhalb des entsprechenden <VirtualHost> oder <Dire auch> Block hinzu:

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

3. Speichern Sie die Änderungen in der Konfigurationsdatei und starten Sie den Apache -Server neu, um die Änderungen anzuwenden.

4. Testen Sie die Umleitung, indem Sie auf die alte URL in Ihrem Browser zugreifen.

Mit Plugins

Für Websites, die ein CMS (Content -Management -System) verwenden, wie WordPress oder Weebly, ist die Implementierung von 307 -Weiterleitungen so einfach wie das Durchführen von Plugin.

Finden Sie ein Plugin, das Ihnen gefällt, laden Sie es herunter und befolgen Sie einfach die Anweisungen zur Implementierung der 307 -Umleitung.

Geschrieben von Hostwinds Team  /  März 29, 2024