„Weiterleitung“ – Versionsunterschied

[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
überarbeitet
K +interwiki en (auch wenn der englische Artikel mehr umfasst)
Zeile 90:Zeile 90:
[[Kategorie:World Wide Web]]
[[Kategorie:World Wide Web]]
[[Kategorie:HTTP]]
[[Kategorie:HTTP]]

[[en:URL redirection]]

Version vom 14. August 2012, 22:09 Uhr

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.

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-Header

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. Zusätzlich kann durch einen Statuscode mit der Anfangsziffer 3 die Art der Weiterleitung gekennzeichnet werden.

Im folgenden Beispiel wird der HTTP-Header für eine Weiterleitung durch ein PHP-Programm ausgeben:

<?php
Header("Location: http://www.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 Seite www.example.org weitergeleitet.[5][3]

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.[6]

Frames in HTML

Ein 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.

Siehe auch

Einzelnachweise

  1. ProxyMaxForwards Directive. In: Apache HTTP Server Version 2.0 Documentation. Apache Software Foundation, abgerufen am 11. September 2011.
  2. SelfHTML/Meta
  3. a b c WebCode-Blog: Browser-Weiterleitungen, abgerufen am 12. Mai 2011
  4. Use standard redirects W3C Quality Assurance Tips
  5. Erklärung bei drweb.de
  6. Wikipedia-Hilfe: Weiterleitung