Netzwerkanwendungen, Teil 1: HTTP und E-Mail

Universal Resource Identifier

HTTP spricht Dokumente über eine Adresse in Form eines Universal Resource Locator (URL) an. Der URL ist eine der beiden Unterkategorien des Universal Resource Identifier (URI). Deren zweite Unterkategorie sind die Universal Resource Names (URN), zu denen etwa E-Mail- oder News-Adressen gehören. Der URI ist ein allgemeines Schema, um Ressourcen zu adressieren. Die Spezifikation ist in der RFC 2396: "Uniform Resource Identifiers (URI): Generic Syntax" beschrieben.

Die allgemeine Form des URI ist Schema : schemaspezifischer Teil. Der Schemateil beschreibt dabei den Dienst, im obigen Beispiel also http. Daneben sind noch ftp, news, file, telnet oder mailto gängig. Browser erlauben in der Regel auch die Eingabe von anderen Diensten als HTTP und starten dann die entsprechende Anwendung.

Der zweite Teil hat bei HTTP die allgemeine Form //user:password@host:port/pfad. In den meisten Fällen wird aber nur der Pfad benötigt. Weiterhin gelten Vereinbarungen wie etwa die Verwendung von index.html als Default-Wert für den Dateinamen.

Neben dem eigentlichen Namen kann man weitere Optionen an den URI anhängen. Dies ist eine einfache Möglichkeit für den Client, Informationen an den Server zu schicken. Der Server entnimmt dann die Optionen dem erweiterten URI und erzeugt eine Seite mit der angeforderten Information. Als Beispiel ist der folgende URI die Anfrage an eBay nach Artikeln mit dem Schlüsselwort Friedberg (Zeilenwechsel und Leerzeichen sind nur zur besseren Übersicht eingefügt):

http://search.ebay.de/search/search.dll?MfcISAPICommand=GetResult
&ht=1 &shortcut=4 &SortProperty=MetaEndSort &maxRecordsPerPage=50
&st=2 &ebaytag1code=77 &query=friedberg

Der Teil bis zu dem Fragezeichen spezifiziert die Anwendung. Der Rest wird dann beim Aufruf als Argument an diese Anwendung übergeben. Im Beispiel besteht das Argument aus einer Liste mit Eigenschaften und den dazugehörigen Werten. Die Anwendung wird vom Browser aktiviert. Sie liest die Argumente, führt auf dem Server eine entsprechende Aktion aus und gibt das Resultat als HTML-Text an den Browser zurück.