bluestr.jpg (925 Byte)
so.gif (934 Byte)  

Vortrag Aufbau einer URL

nw.gif (934 Byte) nw_g.gif (898 Byte)  
 

Diese Beitrag steht auch als RTF Datei zum Download bereit

Aufbau einer URL

Gekürzter Beitrag aus http://www.it-academy.cc/article.php?ID=54.  Ergänzungen von Hubert Daubmeier. Die detaillierte Beschreibung findet sich in RFC 1738.

An dem folgenden Beispiel eines URL (unique resource locator) wollen wir uns die Bestandteile ansehen.

http://www.domain.de/seiten/aktuell/scripte/beispiel.asp?vname=hans&nname=meier&ort=neuburg

Das Protokoll – http://

HTTP steht für Hyper Text Transfer Protokoll, dieses Protokoll soll der Browser also benutzen. Andere bekannte Protokolle sind ftp://, das File Transfer Protokoll zum Übertragen von Dateien. Oder nntp: für den Zugriff auf Newsgruppen.  Bei den meisten modernen Browsern muss das Protokoll nicht angegeben werden, weil es der Browser automatisch einsetzt. Nichtsdestotrotz ist es ein erforderlicher Bestandteil einer URL.

Der Servername – www.domain.de

Dies ist der Name des Servers, auf dem sich das Dokument befindet, das der Browser abrufen soll. An Stelle eines Namens könnte hier auch die IP-Adresse des Servers stehen:

http://22.33.44.55/seiten/aktuell/scripte/beispiel.asp?vname=hans&nname=meier&ort=neuburg

So würde die URL aussehen, wenn wir die IP-Adresse kennen würden. Die tatsächliche TCP/IP Verbindung erfordert immer die IP-Adresse. Allerdings wird die bei Angabe des Namens automatisch vom Browser über den zuständigen Nameserver (DNS) abgefragt. Technisch ist es beliebig ob Name oder IP-Adresse angegeben wird. Wer Böses im Schilde führt wird in der Regel eher den organisatorischen und finanziellen Aufwand einer Namensregistrierung scheuen und eher die Adresse verwenden.

Das Verzeichnis

Es können, wie in unserem Beispiel mehrere Verzeichnisnamen angeben sein. Das ist letztlich abhängig von der Verzeichnisstruktur auf dem Server.

/seiten/aktuell/scripte/beispiel.asp?vname=hans&nname=meier&ort=neuburg

Dies ist der Name des Verzeichnisses (anderer Name Ordner, englisch directory) in dem sich die gewünschte Datei befindet. Wird kein Verzeichnis angegeben, sucht der Server in seinem Stammverzeichnis nach der Datei.

Der Dateiname

Die Angabe des Dokuments, dass wir angezeigt bekommen möchten

beispiel.asp?vname=hans&nname=meier&ort=neuburg

Es ist möglich keinen Dateinamen anzugeben, dann sucht der Server nach einem Standard-Dokument im angegebenen Verzeichnis und zeigt dieses an - falls es vorhanden ist. Der Name des Standard-Dokuments ist meist INDEX.HTM oder DEFAULT.HTM.

Die Textmarke

Bei umfangreichen Seiten kann man eine Unterteilung durch Textmarken vornehmen. Etwa Kapitel 1, Kapitel 2. Beim Aufrufen einer Seite und dem direkten Sprung zu einer festgelegten Textmarke wird diese am Ende des Dateinamen angehängt und mit einem Nummernkreuz vom restlichen Link abgetrennt.

http://www.domain.de/seiten/aktuell/scripte/beispiel.asp#textmarke

Die CGI-Parameter

Diese folgen nach dem Fragezeichen. Sind mehrere Parameter vorhanden werden alle folgenden mit einem kaufmännischen Und & abgetrennt.

?vname=hans&nname=meier&ort=neuburg

Sie dienen dazu einem Programm (nicht einer einfache Seite) auf dem Server verschiedene Eingaben zu machen. Enthalten die Parameter Sonderzeichen, wie Leerzeichen oder Umlaute werden diese Zeichen maskiert. So erscheint ein Leerzeichen etwa als %20

Die Portnummer

Normalerweise, wird der Browser den Server auf dem Port kontaktieren, der als Standartport für das verwendete Protokoll definiert ist. Bei http ist das Port 80, für FTP ist es Port 21. Es kann sein, das der Server auf einem anderen als dem Standartport betrieben wird und deshalb die Verbindung auf einem anderen Port hergestellt werden soll.  Die Portnummer wird am Ende des Servernamen angehängt und mit einem Doppelpunkt getrennt

http://www.domain.de:80/seiten/aktuell/scripte/beispiel.asp?vname=hans&nname=meier&ort=neuburg

oder bei einem Nicht-Standardport dann

http://www.domain.de:81/seiten/aktuell/scripte/beispiel.asp
http://www.domain.de:8080/seiten/aktuell/scripte/beispiel.asp

Der Username

Im Normalfall sind die meisten Seiten für jeden Besucher frei zugänglich. In Fällen wo nur bestimmte Benutzer Zugriff erhalten sollen, wird der Benutzername nach dem Protokoll angegeben und vom Servernamen mit einem At-Zeichen getrennt.

http://benutzername@www.domain.de/seiten/aktuell/scripte/beispiel.asp

Sollte zusätzlich eine Kennwort erforderlich sein – was praktisch immer der Fall ist, wenn ein Benutzername gefordert wird, dann wird das Kennwort nach dem Benutzernamen und mit Doppelpunkt getrennt.

http://benutzername:kennwort@www.domain.de/seiten/aktuell/scripte/beispiel.asp

In diesem Fall würde der Browser angewiesen, sich mit dem Benutzernamen „benutzername“ und dem Kennwort „kennwort“ auf dem Server anzumelden. Das mit diesem Feature viel Unfug getrieben wurde, wird es heutzutage nur noch selten unterstützt.

Zusammenfassung

Aus den obigen Beispielen kann man erkennen, dass eine URL eine erhebliche Länge erreichen kann. Sie kann ziemlich kompliziert aufgebaut sein, auch wenn die Einzelelemente klar und verständlich sind.


Beispiele für Missbrauch

Missbrauch des Benutzernamens.

Zunächst schwer erkennbar wird hier ein unsinniger Benutzername eingeführt, der glauben macht der Link würde zu Microsoft führen.

http://www.microsoft.com:windowsf@www.domain.de/seiten/aktuell/scripte/beispiel.asp

Der angegebene Benutzername muss auf dem Zielserver nicht angelegt sein. Wenn aber eh keine Validierung erforderlich ist, dann führt die überflüssige Angabe zu keinem Fehler; es wird einfach ignoriert. Letztlich dient es nur dem Zweck den oberflächlichen Leser in die Irre zu leiten. Mittlerweile geht dieses Beispiel auf den meisten Browsern nicht mehr und auch die folgenden Beispiele werden vom Browser abgelehnt:

http://www.cnn.com@194.105.226.1/sandholt/breakingsnews/news.htm 
http://www.microsoft.com&item=q209354@hardware.no/nyheter/feb01/Q20935 

Missbrauch des Domainnamens.

Es gibt einfache Domain, wie etwa www.domaene.de, so wie Masterdomains. Ein Beispiel für Masterdomains sind Servernamen wie mail.neusob.de, www.neusob.de, projekt.neusob.de.  Damit sind Server oder Servergruppen eindeutig beschrieben. Man könnte nun auf die Idee kommen und einen furchtbar langen Namen angeben, der ganz anders aussieht als das was er ist.

http://www.microsoft.com.hundertneunzigdialer.de 

Der Name wird technisch von rechts nach links aufgelöst. Zuerst die Top Level Domain DE, dann die vielleicht einfache Domain und damit ist der Server vollständig erreichbar.  Alles was weiter nach links noch steht wird völlig ignoriert.  Da der Mensch von links nach rechts liest sieht es auf einen flüchtigen Blick nach ganz was anderem aus.

Angabe der IP Adresse in ungewohnter Form

Eine IP-Adresse wird üblicherweise in der Form 22.33.44.55 geschrieben. Das ist letztlich eine abgekürzte und menschenlesbare Form eines 32-Bit Wertes in hexadezimaler Form.  Hex ist wiederum eine menschenlesbare Abkürzung für Binärzahlen.  Also letztendlich die Kurzform für 32 Einser und Nullen.  Tatsächlich steckt naütrlich zu guter Letzt eine ziemlich große Zahl und natürlich kann die Zahl auch direkt verwendet werden.

http://3286991312/seiten/aktuell/scripte/beispiel.asp

Wie schon erwähnt ist es technisch nicht relevant wie ein Server "angefahren" wird, per Name oder IP-Adresse (und in welcher Form die IP-Adresse angegeben wird). Aber böse Buben scheuen die Namens Registrierung und geben damit einen Hinweis preis.

     
no.gif (933 Byte)     sw.gif (934 Byte) sw_g.gif (898 Byte)  
bluestr.gif (930 Byte)