Weiterleitung

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel behandelt die Weiterleitung im World Wide Web. Zur Weiterleitung von E-Mails siehe Mail-Umleitung.
Die Artikel Weiterleitung und Domainweiterleitung überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zusammenzuführen (→ Anleitung). Beteilige dich dazu an der betreffenden Redundanzdiskussion. Bitte entferne diesen Baustein erst nach vollständiger Abarbeitung der Redundanz und vergiss nicht, den betreffenden Eintrag auf der Redundanzdiskussionsseite mit {{Erledigt|1=~~~~}} zu markieren. Trofobi (Diskussion) 21:14, 14. Aug. 2012 (CEST)

Durch eine Weiterleitung (engl. forward) oder Umleitung (engl. redirect) werden Funktionsaufrufe an dritte Systeme weitergegeben.

Serverseitige Weiterleitungen im World Wide Web werden beispielsweise durch entsprechende HTTP-Antworten eines Servers realisiert. Ein Proxy ist eine weitere Möglichkeit.[1] In ähnlicher Weise können auch Druckaufträge im Rahmen des Spoolings an andere Drucker weitergeleitet werden.

Arten der Weiterleitungen[Bearbeiten | Quelltext bearbeiten]

Weiterleitungen können auf 2 Arten erfolgen:

Implementierung[Bearbeiten | Quelltext bearbeiten]

HTTP-Header[Bearbeiten | Quelltext bearbeiten]

HTTP bietet die Möglichkeit, im Header mit der Angabe Location auf einen anderen URI zu verweisen. Damit wird der Browser angewiesen, die angegebenen URI zu laden. Dies wird begleitet durch einen 30x Statuscode. Es gibt verschiedene Status Codes für Weiterleitungen unterschiedlicher Intention und technischer Spezifikation.

Status Codes für Weiterleitungen sind spezifiziert in RFC 7231 sowie RFC 2616 (HTTP/1.1). Verschiedene HTTP Status Codes für Weiterleitungen werden von Browsern und Suchmaschinen entsprechend unterschiedlich interpretiert. Bezüglich der Intention kann unterschieden werden zwischen temporären und permanenten Weiterleitungen. Die technische Spezifikationunterscheidet bei Aspekten wie Caching und Request Methode für den Ziel-URI der Weiterleitung.

Die folgende Tabelle zeigt alle Status Codes zur Weiterleitung und ihre technischen Spezifikationen:

HTTP Status Code HTTP Version Temporary / Permanent Cachebar Request Methode zweiter Request
301 HTTP/1.0 Permanent ja GET / POST kann sich ändern
302 HTTP/1.0 Temporary nicht per Default GET / POST kann sich ändern
303 HTTP/1.1 Temporary niemals Immer GET
307 HTTP/1.1 Temporary nicht per Default wie erster Request
308 HTTP/1.1 Permanent ja wie erster Request
Quelle: "Audisto - SEO & Redirects"[2]


Das folgende Beispiel zeigt den HTTP-Header mit 301 Status Code:

HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/
...

Im folgenden Beispiel wird der HTTP-Header für eine Weiterleitung mit Status Code 301 durch ein PHP-Programm gezeigt:

<?php
header("HTTP/1.1 301 Moved Permanently"); 
header("location: http://example.org/"); 
exit;
?>

Ohne spezifizierte Angabe eines Status Codes, wird in PHP der 302 Status Code verwendet. Beispiel:

<?php
header("location: http://example.org/"); 
exit;
?>

Die Weiterleitung kann auch durch folgenden Eintrag in einer .htaccess-Datei erreicht werden, vorausgesetzt der Webserver unterstützt diese Methode:

Redirect /beispiel.html http://www.example.org

Hierbei wird man beim Aufrufen der Datei beispiel.html auf die URL http://www.example.org weitergeleitet.[3][4]

HTML Meta Refresh[Bearbeiten | Quelltext bearbeiten]

HTML erlaubt einen so genannten Meta Refresh, welches den Browser anweist, die Seite nach vorgegebener Zeit zu aktualisieren oder gar eine andere URL zu laden.

Mit folgendem Befehl in dem Kopfbereich der HTML-Datei setzt man eine Weiterleitung per Meta Refresh:

<meta http-equiv="refresh" content="5; URL=http://www.example.org">

Hier bei wird man nach 5 Sekunden automatisch auf die URLhttp://www.example.org weitergeleitet.[5][4]

Diese Art der Weiterleitung wird vom W3C-Konsortium allerdings nicht empfohlen, und zwar aus folgenden Gründen: Erstens wird die Seite, auf der sich die Meta-Angabe zur Weiterleitung befindet, komplett geladen, sodass sie komplett einsehbar ist. Zweitens kommt es zu dem Problem, dass wenn der Benutzer nach erfolgreicher Weiterleitung auf den Zurück-Button klickt, er dann sofort wieder weitergeleitet wird.[6]

HTML Frameset[Bearbeiten | Quelltext bearbeiten]

Hauptartikel: Frame (HTML)
Beispiel für eine HTML-Seite mit Frames

In HTML kann man sogenannte Frames verwenden, um den Inhalt anderer Webseite automatisch anzuzeigen. Hierbei handelt es sich um eine Art Rahmen, in dem dann mehrere Seiten bzw. HTML-Dokumente dargestellt werden können.

Dabei gibt es auch die Möglichkeit Inhalte von fremden Webseiten einzubinden, ohne sie von ihrer Ursprungsseite entfernen zu müssen, indem man einfach die Seite als Frame einbindet (z. B. einen Wikipedia-Artikel). Allerdings gibt es zurzeit noch keine einheitliche Regelung, ob das Einbinden fremder Webseiten verboten ist oder nicht.

JavaScript[Bearbeiten | Quelltext bearbeiten]

<script type="text/javascript">
    window.location.href = "http://www.example.org/";
</script>

Platziert man dieses JavaScript-Skript innerhalb des Head-Elements eines HTML-Dokuments, wird der Besucher automatisch an die angegebene URL weitergeleitet. Dabei gilt jedoch dieselbe Problematik wie bei der HTML-Implementierung.[4]

Implementierung in einem Wiki[Bearbeiten | Quelltext bearbeiten]

Bei MediaWiki können Weiterleitungen angelegt werden. In diesem Fall enthält der Artikel keinen Inhalt, sondern nur die Anweisung der Weiterleitung auf eine andere Artikelseite. Im Unterschied zu den vorangegangenen Beispielen erfolgt dabei die Weiterleitung intern über die Wiki-Engine und nicht über den Browser.

Mit folgendem Befehl setzt man eine interne Weiterleitung in einem Mediawiki-Artikel:

#WEITERLEITUNG [[Hauptseite]]

Statt #WEITERLEITUNG funktionieren auch #Weiterleitung, #weiterleitung, #REDIRECT, #Redirect und #redirect.[7]

Hierbei wird man beim Aufruf der Seite auf die Hauptseite des betroffenen Wikis weitergeleitet.[7]

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. ProxyMaxForwards Directive. In: Apache HTTP Server Version 2.0 Documentation. Apache Software Foundation. Abgerufen am 11. September 2011.
  2. SEO & Redirects - The Total Guide. Audisto. Abgerufen am 29. Oktober 2015.
  3. Erklärung bei drweb.de
  4. a b c Browser-Weiterleitungen WebCode-Blog, abgerufen am 12. Mai 2011
  5. Automatische Weiterleitung zu anderer Adresse (Forwarding) im SELFHTML-Wiki
  6. Use standard redirects W3C Quality Assurance Tips
  7. a b Hilfe:Weiterleitung in der deutschsprachigen Wikipedia