LW IT Solutions logo LW IT Solutions logo LW IT Solutions
« Blog-Übersicht /Web Entwicklung/Tutorials / Die richtige Website-Weiterleitung wählen: 301, 302, 307...
Diesen Artikel in anderen Sprachen lesen:

Die richtige Website-Weiterleitung wählen: 301, 302, 307 und 308 erklärt

Die richtige Website-Weiterleitung wählen: 301, 302, 307 und 308 erklärtDie richtige Website-Weiterleitung wählen: 301, 302, 307 und 308 erklärt

Management Summary

Eine Weiterleitung teilt einem Browser oder Programm mit, dass ein angefragter Inhalt unter einer anderen Adresse liegt. Das ist bei Website-Umzügen üblich, hat aber besonders für Formulare Folgen. Manche Weiterleitungen können eine Datenübermittlung in einen gewöhnlichen Seitenabruf verwandeln und den ursprünglichen Inhalt verlieren. Der Beitrag erklärt, warum 307 und 308 die Anfrageart bei vorübergehenden und dauerhaften Umzügen erhalten, während 301 und 302 anders reagieren können. Die passende Wahl schützt vollständige Übermittlungen.

Inhalt
  1. Zwei Fragen, vier häufige Statuscodes
  2. Was bei jedem Sprung passiert
  3. Speicherung und Dauerhaftigkeit sind verschiedene Dinge
  4. Suchsignale garantieren keine Platzierung
  5. Cookies, Herkunftsangaben und Anmeldung
  6. Ein kleiner reproduzierbarer Methodentest
  7. Die gesamte Kette prüfen
  8. Fragen und Antworten
  9. Quellen

Eine Weiterleitung fordert einen Client auf, eine andere URL zu verwenden. Zwei Entscheidungen zählen: Ist der Umzug dauerhaft, und soll die nächste Anfrage Methode und Inhalt wiederholen? GET ruft häufig eine Seite ab; POST übermittelt häufig Daten wie ein ausgefülltes Formular. Bei Formularen und APIs ist diese Unterscheidung besonders wichtig.

Eine empfangene Weiterleitung beweist weder deren Befolgung noch die Annahme der Daten am Ziel. Browser, Bibliothekseinstellungen und die gesamte Kette brauchen getrennte Prüfungen.

Weiterleitungsstatus und POST-Verhalten
Weiterleitungsstatus und POST-Verhalten

Zwei Fragen, vier häufige Statuscodes

Code Bedeutung Behandlung von POST
301 Dauerhafter Umzug HTTP erlaubt den Wechsel zu GET; Browser führen diesen gewöhnlich aus.
302 Vorübergehendes Ziel HTTP erlaubt den Wechsel zu GET; Browser führen diesen gewöhnlich aus.
307 Vorübergehendes Ziel Bei automatischer Befolgung muss die Methode erhalten bleiben.
308 Dauerhafter Umzug Bei automatischer Befolgung muss die Methode erhalten bleiben.

Beim Wechsel von POST zu GET wird der ursprüngliche Anfragekörper nicht erneut gesendet. Bei 307 und 308 wird der Inhalt beim Folgen normalerweise erneut übertragen. Ein Client kann die Weiterleitung aber ablehnen oder an einem nicht erneut lesbaren Anfragekörper scheitern. Eine erhaltene Methode garantiert keine identischen Cookies, Authentifizierungsheader oder Anwendungsergebnisse.

303 See Other erfüllt einen anderen Zweck: Nach der Verarbeitung eines POST kann der Server auf eine Ergebnisseite verweisen, die per GET abgerufen wird. Das passt zum Ablauf Post/Redirect/Get. Für das erneute Senden derselben Formulardaten an einen anderen Endpunkt ist 303 nicht vorgesehen.

Was bei jedem Sprung passiert

Location kann einen relativen URI-Verweis enthalten, der anhand der Anfrage-URL aufgelöst wird. Bei aktivierter Befolgung entsteht eine weitere Anfrage. Auch die Weiterleitungsantwort kann einen Inhalt besitzen, der sich ohne automatische Befolgung ansehen oder anzeigen lässt. Nicht jede 3xx-Antwort ist eine Navigationsweiterleitung: 304 betrifft beispielsweise die Wiederverwendung einer gespeicherten Antwort.

Eine zusätzliche Netzwerkanfrage erzeugt Aufwand, benötigt aber nicht zwingend eine neue DNS-Auflösung oder Verbindung. DNS-Cache, wiederverwendete Verbindungen und HTTP-Caches beeinflussen die Kosten. HSTS kann außerdem lokal von HTTP auf HTTPS wechseln, ohne dass der Server 301 sendet. Eine feste Millisekundenzahl je Sprung ist daher keine allgemeine Regel.

Speicherung und Dauerhaftigkeit sind verschiedene Dinge

301 und 308 kommen nach den HTTP-Cacheregeln für heuristische Speicherung infrage. Auch vorübergehende Antworten wie 302 können bei geeigneten ausdrücklichen Frischeangaben gespeichert werden. Vorübergehend bedeutet nicht „niemals gespeichert“. Anfragemethode, Cachevorgaben und weitere Einschränkungen bleiben relevant.

Cache-Control: max-age=3600 legt eine Frischefrist fest, keine garantierte Löschung nach einer Stunde. Eine veraltete Antwort kann gespeichert bleiben und erneut validiert werden; weitere Regeln beeinflussen ihre Wiederverwendung. Eine geänderte Serverregel ruft bereits gespeicherte Weiterleitungen nicht sofort von allen Clients zurück.

Eine falsche dauerhafte Weiterleitung braucht eine abgestimmte Korrektur. Leitet das Ziel auf die alte URL zurück, können Clients mit der gespeicherten ersten Weiterleitung in eine Schleife geraten. Prüfungen sollten frische und vorhandene Cachezustände berücksichtigen; Links und Clients werden auf die beabsichtigte Endadresse angepasst.

Suchsignale garantieren keine Platzierung

Die kanonische URL ist die bevorzugte Hauptadresse für den Suchindex. Google wertet dauerhafte Weiterleitungen als starkes Signal, dafür die Zieladresse zu wählen. Vorübergehende Weiterleitungen sind ein schwächeres Signal. Daraus folgt weder, dass 302 die alte URL für immer im Index hält, noch dass 301 sofort eine bestimmte Platzierung überträgt. Erneutes Crawlen und weitere Signale bleiben relevant.

Laut Googles Umzugsdokumentation verursachen dauerhafte Weiterleitungen für sich keinen PageRank-Verlust. Kurze Ketten sind trotzdem für Laufzeit, Zuverlässigkeit und Crawlergrenzen sinnvoll. Die Behauptung, bei jedem Sprung gehe zwangsläufig Bewertungsgewicht verloren, führt in die Irre. Direkte Verweise zum richtigen Endziel sind vorzuziehen, soweit das erforderliche Verhalten das erlaubt.

Cookies, Herkunftsangaben und Anmeldung

Der Ursprung (Origin) besteht aus Protokoll, Hostname und Port, ohne den Seitenpfad. Ein Hostwechsel entfernt den Referer-Header nicht automatisch. Bei der verbreiteten Regel strict-origin-when-cross-origin bleibt bei einem sicheren ursprungsübergreifenden Abruf gewöhnlich der Ursprung erhalten, während der Pfad entfällt. Beim Wechsel zu HTTP wird die Angabe weggelassen. Entscheidend sind die tatsächliche Richtlinie und der Anfragekontext.

Ein hostgebundenes Cookie gilt nicht automatisch für Unterdomains. Ein gültiges Domain-Attribut kann Unterdomains einschließen; zusätzlich wirken Path, Secure, SameSite und Browserregeln. Für Zugangsdaten und Authorization-Header gelten weitere Weiterleitungsgrenzen. Der Titel der Endseite allein beweist keine erhaltene Anmeldung oder API-Berechtigung.

Ein kleiner reproduzierbarer Methodentest

Ein isolierter Loopback-Test mit curl 8.14.1 sendete den harmlosen Inhalt test=1 an fünf künstliche Weiterleitungen. Mit gewöhnlichem --location --data test=1 kamen 301, 302 und 303 als GET ohne Anfragekörper an; 307 und 308 als POST mit unverändertem Inhalt. Mit der ausdrücklichen curl-Option --post301 blieb POST auch nach 301 erhalten. Das zeigt den Einfluss der Clienteinstellung.

Geprüft ist nur diese curl-Konfiguration. Browsercaches, echte Formulare, externe Webseiten und die Weitergabe von Zugangsdaten waren nicht Teil des Tests. Historische Ergebnisse zu zwölf Seiten werden hier nicht als bestätigte Messung dargestellt.

Die gesamte Kette prüfen

Ein brauchbares Protokoll enthält Start-URL und Methode, jeden Status mit Location, Endadresse, endgültige Methode, Behandlung des Anfragekörpers und finalen Antwortstatus. Ein 403 am Ziel ist eine Zugriffsverweigerung, kein Beweis für eine bestimmte Weiterleitungsursache. Eine Schleife oder die Sprunggrenze des Clients kann die Kette vor einer Endseite abbrechen.

Ein Indexierungsprüfer mit GET hilft bei der URL-Führung, belegt aber kein POST-Verhalten. Formular- und API-Umzüge brauchen den tatsächlich unterstützten Client und harmlose Testdaten. Bei dauerhaft verlegten Endpunkten ist 308 ein passendes methodenerhaltendes Signal. Direkt angepasste Clientadressen vermeiden die dauerhafte Abhängigkeit von der Weiterleitungsunterstützung.

Getrennte Wege veranschaulichen weitergeleitete Anfragen

Fragen und Antworten

Warum verhindert 303 nach einem Formular, dass die Daten beim Neuladen erneut gesendet werden?

Nach einer 303-Antwort ruft der Browser die Ergebnisseite per GET ab, und diese GET-Anfrage ist dann das, was ein Neuladen wiederholt. Die Formulardaten gehen deshalb kein zweites Mal an den Server. Gegen einen doppelten Klick auf die Absenden-Schaltfläche schützt das allerdings nicht; dafür braucht die Anwendung eine eigene Prüfung.

Ein API-Endpunkt zieht dauerhaft um. Genügt eine 308-Weiterleitung?

Als Übergang ja, als Dauerlösung selten. 308 sagt aus, dass der Umzug dauerhaft ist und die Methode erhalten bleiben muss, wenn der Client der Weiterleitung automatisch folgt. Ob er das tut, hängt vom Client ab: Manche Bibliotheken folgen gar nicht oder erst nach einer Einstellung, und ein Anfragekörper, der sich nicht erneut lesen lässt, etwa ein Datenstrom, kann beim zweiten Senden scheitern.

Dazu kommen Anmeldung und Cache. Für Zugangsdaten und Authorization-Header gelten bei Weiterleitungen eigene Grenzen; wechselt der Host, senden viele Clients sie nicht weiter, und der neue Endpunkt lehnt die Anfrage dann ab, obwohl die Methode stimmt. Außerdem kommt 308 für eine heuristische Speicherung infrage. Eine falsch gesetzte dauerhafte Weiterleitung kann so bei manchen Clients wirksam bleiben, auch nachdem die Serverregel geändert wurde.

Belastbar ist deshalb ein Test mit den Clients, die die API tatsächlich nutzen, und mit harmlosen Testdaten, protokolliert bis zur endgültigen Methode und zum Antwortstatus. Danach sollten die Clients die neue Adresse direkt verwenden; die Weiterleitung fängt dann nur noch Nachzügler ab.

Quellen

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Kontakt

Eine Frage oder eine Idee für ein Webprojekt? Schreib mir kurz, worum es geht. Das Formular nutzt reCAPTCHA und formconfirmed zum Schutz vor Spam.

Kommentar schreiben

Randfälle, die der Artikel nicht behandelt, und Rückfragen zum Code sind hier willkommen.

Die E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit einem Stern versehen.

LUKASWOJCIK.COM · NEWSLETTER

Neue Ideen im Postfach

Neue Blogartikel, praktische Tools und Einblicke in die Projekte.

Themen auswählen (optional)
Ohne Auswahl: alle Themen.

Erst nach Bestätigung per E-Mail. · Datenschutz

Datenschutz · Newsletter

E-Mail-Adresse, Sprache, Themenauswahl sowie Anmelde- und Bestätigungszeit werden für den Newsletter gespeichert. Versand nur nach Double-Opt-in. Jede Ausgabe enthält eine sofortige Abmeldung. Formconfirmed prüft die Anmeldung auf Spam; dafür werden Formularsignale und die E-Mail-Adresse verarbeitet. Keine Öffnungs- oder Klicktracking-Pixel im Newsletter.

Vollständige Datenschutzerklärung öffnen ↗