HTTP Header

Location Header im HTTP verständlich erklärt: Weiterleitungen

Der HTTP-Header Location ist das Standard-Werkzeug für Weiterleitungen (Redirects) im World Wide Web. Wenn ein Webserver dem Browser mitteilt, dass eine angeforderte Seite umgezogen ist oder dass eine neue Ressource erstellt wurde, nutzt er den Location-Header, um die neue Ziel-URL zu übermitteln. Der Browser liest diesen Header aus und navigiert den Benutzer automatisch und ohne Interaktion an den neuen Speicherort.

Wann wird der Location-Header verwendet?

Der Location-Header wird vom Server in zwei Hauptszenarien ausgesendet:

1. Bei Weiterleitungen (HTTP 3xx Statuscodes)

Dies ist der häufigste Anwendungsfall. Der Server antwortet mit einem Weiterleitungs-Statuscode (z. B. 301 oder 302) und gibt im Location-Header an, wo sich die gewünschte Seite befindet:

HTTP/1.1 301 Moved Permanently
Location: https://allerate.com/unternehmen/

Der Browser bricht das Laden der aktuellen URL sofort ab und startet eine neue Anfrage an https://allerate.com/unternehmen/. Welcher Statuscode gewählt wird, entscheidet dabei über das SEO-Verhalten – mehr dazu weiter unten.

2. Nach der Ressourcenerstellung (HTTP 201 Created)

Erstellt ein Client Daten auf dem Server (z. B. über eine POST-Anfrage an eine API), antwortet der Server mit dem Statuscode 201 Created und teilt dem Client über den Location-Header mit, unter welcher URL die neu erstellte Ressource abrufbar ist:

HTTP/1.1 201 Created
Location: /api/users/42

Die Redirect-Statuscodes im Vergleich

Bei der Konfiguration von Weiterleitungen müssen Webmaster den passenden HTTP-Statuscode wählen:

StatuscodeTypVerhalten bei POST-AnfragenSEO-Effekt (Link Juice)
301 Moved PermanentlyPermanentDarf in GET geändert werdenJa, vererbt PageRank vollständig.
308 Permanent RedirectPermanentMuss POST beibehaltenJa, vererbt PageRank vollständig.
302 FoundTemporärDarf in GET geändert werdenNein, vererbt keinen PageRank.
307 Temporary RedirectTemporärMuss POST beibehaltenNein, vererbt keinen PageRank.

Absolute vs. relative Ziel-URLs

Der Location-Header akzeptiert beide Schreibweisen, die sich aber im Verhalten unterscheiden:

FormBeispielEmpfehlung
AbsolutLocation: https://example.com/kontakt/robust, eindeutig, bevorzugt bei domänenübergreifenden Redirects
Relativ (root)Location: /kontakt/praktisch innerhalb derselben Domain
Relativ (Pfad)Location: kontakt/fehleranfällig, da abhängig vom aktuellen Pfad

Moderne Browser lösen relative Pfade gemäss RFC 7231 zuverlässig gegen die Anfrage-URL auf. Bei domänenübergreifenden Weiterleitungen sollte dennoch immer die absolute URL gesetzt werden, damit kein Protokoll- oder Host-Wechsel verloren geht.


Sicherheit: Die Open-Redirect-Schwachstelle

Eine häufig unterschätzte Gefahr entsteht, wenn das Weiterleitungsziel aus einem Anfrageparameter stammt:

GET /login?next=https://phishing.example/fake HTTP/1.1

HTTP/1.1 302 Found
Location: https://phishing.example/fake

Der Angreifer verschickt einen Link, der scheinbar auf die vertrauenswürdige Domain zeigt, das Opfer aber auf eine Phishing-Seite umleitet. Die Abwehr:

  • Niemals ungeprüfte Nutzereingaben direkt in den Location-Header schreiben.
  • Nur relative Pfade oder eine Allowlist erlaubter Zieldomänen zulassen.
  • Ein gesetzter Referrer-Policy-Header begrenzt zusätzlich, welche Informationen beim Weiterleiten an Dritte gelangen.

Gefahren: Redirect-Ketten und Endlosschleifen

  • Redirect-Schleifen (Infinite Loops): Zeigt URL A auf URL B, und URL B zeigt wiederum auf URL A, gerät der Browser in eine Endlosschleife und bricht mit der Fehlermeldung „Too many redirects“ ab.
  • Redirect-Ketten (Chains): Wenn URL A auf B weiterleitet, B auf C und C schliesslich auf D, verlängert dies die Ladezeit der Website dramatisch, da für jeden Schritt ein neuer HTTP-Roundtrip erforderlich ist (PageSpeed sinkt).
  • Best Practice: Leiten Sie Weiterleitungen immer direkt auf das finale Ziel um (A → D).

Praxisbeispiel: HTTP zu HTTPS und www-Konsolidierung

Eine saubere Domain-Strategie löst alle Varianten in einem einzigen Sprung auf das kanonische Ziel auf:

  • Vorher (Kette): http://example.comhttps://example.comhttps://www.example.com/ (zwei Roundtrips, verwässertes Ranking).
  • Nachher (direkt): http://example.com, http://www.example.com und https://example.com zeigen jeweils per 301 direkt auf https://www.example.com/.

So bleibt der PageRank gebündelt, und die Ladezeit verbessert sich messbar. Die korrekte Auswahl des Statuscodes (301 statt 302 für dauerhafte Umzüge) ist dabei entscheidend für das Technical SEO.

[!TIP] Unsaubere Weiterleitungen zerstören das Suchmaschinen-Ranking und verärgern Nutzer durch unnötig lange Ladezeiten. Analysieren Sie Weiterleitungsketten und Statuscodes Ihrer Domain live mit dem Redirect Checker auf balou.tools.

Häufig gestellte Fragen (FAQ)

Darf der Location-Header relative Pfade enthalten?

Ja. Laut dem modernen HTTP-Standard (RFC 7231) sind sowohl relative Pfade (z. B. `/kontakt/`) als auch absolute URLs (z. B. `https://example.com/kontakt/`) im Location-Header erlaubt.

Was ist der Unterschied zwischen den Statuscodes 302 und 307?

Beide sind temporäre Weiterleitungen. Allerdings erlaubt 302 es dem Browser, eine ursprüngliche POST-Anfrage in eine GET-Anfrage umzuwandeln. Das moderne 307 verbietet dies strikt – die HTTP-Methode und der Body müssen unverändert übertragen werden.

Was ist eine Open-Redirect-Schwachstelle?

Eine Open-Redirect-Schwachstelle entsteht, wenn ein Server eine vom Nutzer kontrollierte URL ungeprüft in den Location-Header schreibt (z. B. `?redirect=https://boese.example`). Angreifer nutzen die vertrauenswürdige Domain als Sprungbrett auf eine Phishing-Seite. Die Abwehr besteht darin, nur Weiterleitungen auf eine Allowlist erlaubter Ziele oder ausschliesslich relative Pfade zuzulassen.

Wird der Location-Header nur bei 3xx-Antworten ausgewertet?

Nein. Bei 3xx-Statuscodes löst der Location-Header eine Weiterleitung aus. Bei der Antwort `201 Created` hingegen ist er rein informativ und nennt die URL der neu angelegten Ressource, ohne den Browser umzuleiten. Der Statuscode entscheidet also über die Bedeutung des Headers.