- Weiterleitung
-
Durch eine Weiterleitung (engl. forward) oder Umleitung (engl. redirect) werden Funktionsaufrufe an dritte Systeme weitergegeben. 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.
Inhaltsverzeichnis
Arten der Weiterleitungen
Folgende Weiterleitungsarten sind zu unterscheiden:
- Frame
- Im Browser wird die ursprüngliche URI und der Inhalt der weitergeleiteten Seite angezeigt.
- Header
- Im Browser wird die weitergeleitete URI mit dem Inhalt der weitergeleiteten Seite angezeigt .
Implementierung
HTML
HTML erlaubt einen so genannten Meta Refresh, welches den Browser anweist, die Seite nach vorgegebener Zeit zu aktualisieren oder gar eine andere Seite 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 Seite www.example.org weitergeleitet.[2][3]
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[4]
HTTP
HTTP bietet die Möglichkeit, im Header auf einen anderen URI zu verweisen. Damit wird der Browser angewiesen, ohne Verzögerung die Seite von der angegebenen URI zu laden.
Das HTTP kennt zudem unterschiedliche Weiterleitungsarten, die durch die Statuscodes mit der Anfangsziffer 3 gekennzeichnet sind.
Mit folgendem Eintrag in einer .htaccess-Datei kann man den Aufruf einer Seite per HTTP umleiten:
Redirect /beispiel.html http://www.example.org
Hierbei wird man beim Aufrufen der Datei beispiel.html auf die Seite www.example.org weitergeleitet.[5][3]
PHP
In PHP kann die Website serverseitig umgeleitet werden. Dazu wird die Funktion
Header()
benutzt, die den Server anweist, im HTTP-Header eine Weiterleitungsanweisung für den Browser zu produzieren:<?php Header("Location: http://www.example.org/"); exit; ?>
In diesem Beispiel wird der Besucher auf www.example.org umgeleitet.[3][6]
JavaScript
<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.[3]
Implementierung in einem Wiki
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:
#REDIRECT [[Hauptseite]]
Hierbei wird man beim Aufruf der Seite auf die Hauptseite des betroffenen Wikis weitergeleitet.[7]
Frames in HTML
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 zur Zeit noch keine einheitliche Regelung, ob das Einbinden fremder Webseiten verboten ist oder nicht.
Siehe auch
Einzelnachweise
- ↑ ProxyMaxForwards Directive. Apache HTTP Server Version 2.0 Documentation. Apache Software Foundation. Abgerufen am 11. September 2011.
- ↑ SelfHTML/Meta
- ↑ a b c d WebCode-Blog: Browser-Weiterleitungen, abgerufen am 12. Mai 2011
- ↑ Use standard redirects W3C Quality Assurance Tips
- ↑ Erklärung bei drweb.de
- ↑ PHP: header() php.net Funktionsreferenz
- ↑ Wikipedia-Hilfe: Weiterleitung
Wikimedia Foundation.