Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


13.1.1

URLs



Die einfachste Art, in Java über Netz zu kommunizieren, ist die URL-Verbindung. Wie sicherlich bekannt ist, stellt eine URL (Uniform Resource Locator) einen Verweis auf eine Ressource im Internet dar.

Eine URL beinhaltet

Die wichtigsten vom JDK 1.1 unterstützten Zugriffsmethoden sind in Tabelle 13.1 aufgelistet.

Tabelle 13.1: Namen der Protokolle, die von die vom J2SDK 1.4 unterstützt werden
httpftp
gophermailto
filedoc

Die Unterstützung der oben genannten Protokolle bezieht sich allerdings nur auf die Java-Laufzeitumgebung. Die einzelnen Browser besitzen ihre eigenen Implementierungen der Protokolle. Deshalb kann die Unterstützung der Protokolle von Browser zu Browser verschieden sein. Eine Möglichkeit, die unterstützten Protokolle innerhalb eines Browsers abzufragen, gibt es nicht.

Ein Beispiel für eine URL, die ein Dokument über das HTTP-Protokoll referenziert, ist:
  http://java.sun.com:80/index.html
Diese URL referenziert das Dokument index.html, das auf dem Host www.javasoft.com zu finden ist. Der Server lauscht in diesem Fall auf Port 80.

HTTP ist ein Protokoll, das nicht direkt eine Authentifizierung des Benutzers verlangt. Bei einigen Protokollen ist aber eine Benutzer/Passwort-Kombination notwendig, bevor eine Datenübertragung möglich ist. Ein Beispiel hierfür ist ftp. Folgende URL referenziert ein Dokument über ftp mit Angabe einer Benutzer/Passwort-Kombination:
  ftp://benutzer:passwort@ftp.demo.de/test.txt
Benutzer und Passwort können bei FTP auch weggelassen werden. In diesem Fall wird der Benutzer anonymous (oder auch ftp) verwendet. Es sollte allerdings beachtet werden, dass die Angabe von Benutzer und Passwort im Klartext erfolgen und nicht auf irgendeine Weise verschlüsselt werden. Auch bei FTP ist die explizite Angabe einer Port-Nummer hinter dem Rechnernamen möglich.

Eine URL stellt also einen String dar, der eine Ressource im Internet eindeutig lokalisiert. Einem Browser kann ein solcher URL-String übergeben werden, und dieser lädt daraufhin das entsprechende Dokument. Was für eine Möglichkeit gibt es, auf einfachere Weise Netzwerkkommunikation zu betreiben? Man gibt einen String an und erhält daraufhin das gewünschte Dokument. Ein größeres Abstraktionsniveau ist kaum mehr möglich. Diese Möglichkeit kann man auch direkt in Java nutzen. URL-Verbindungen haben allerdings den großen Nachteil, dass sie die Flexibilität einer Anwendung sehr einschränken und über eine relativ schlechte Performance verfügen.

MIME-Types

Die MIME-Types sind bei der Programmierung mit URL-Verbindungen in Java fast genauso wichtig wie die Angabe des URL-Strings selbst. MIME ist die Abkürzung für Multipurpose Internet Mail Extension und war ursprünglich dafür gedacht, den Typ des Inhalts von Dokumenten, die mit Mail verschickt werden, anzugeben. Mittlerweile werden MIME-Types in verschiedenen Bereichen für die Angabe des Inhalts von Dokumenten verwendet. Ein solcher Bereich betrifft die Übertragung von Daten von einem HTTP-Server zu einem Browser.

Ein Dokumenteninhalt wird durch MIME in zwei Teile gegliedert:
  <typ>/<untertyp>
Der Typ enthält Informationen über die generelle Art eines Dokuments. Beispiele für den Typ sind text oder image. Der Untertyp beschreibt ein Dokument spezieller und definiert meist dessen Format. Ein Bild kann z. B. gif, tiff oder jpeg als Untertyp besitzen.

Ein HTML-Dokument hat somit den MIME-Type text/html, ein Bild im gif-Format image/gif. Es gibt viele unterschiedliche MIME-Types, die aber an dieser Stelle nicht alle genannt werden.

Auch http-Server arbeiten beim Übertragen von Dokumenten mit MIME-Types. Der HTTP-Server besitzt Zugriff auf eine Tabelle, in der bestimmte Dateiendungen zu MIME-Types zugeordnet werden (z. B. die Endung html zum MIME-Type text/html). Unter UNIX ist diese Tabelle meist in einer Datei namens mime.types abgelegt.

Wird nun ein Dokument von einem Client angefordert, dessen Endung einen Eintrag in dieser Tabelle besitzt, so sendet der Server zusätzlich die MIME-Type-Information zum Client.

Ist kein Eintrag in dieser Tabelle vorhanden, so hat der Client selbst die Möglichkeit, dem Dokument einen MIME-Type zuzuordnen. Die meisten Web-Browser verfügen ebenfalls über eine Tabelle, in der Dateiendungen zu einem MIME-Type zugeordnet werden. Diese Tabelle wird ausgewertet, wenn vom Server keine MIME-Type-Information zu einem Dokument geliefert wird.

Man kann den Browser nun so konfigurieren, dass beim Laden von Dokumenten mit einem bestimmten MIME-Type ein externes Programm zum Anzeigen des Dokuments aufgerufen wird. Die Konfiguration ist von Browser zu Browser verschieden. Das ist besonders bei Dokumenten wichtig, die nicht direkt vom Browser angezeigt werden können.

So ist es möglich, z. B. PostScript-Dokumente direkt durch das Laden in einen Browser mit einem PostScript-Interpreter anzuzeigen. Der Browser erkennt, dass das Dokument einen MIME-Type besitzt, der mit einem externen Programm verknüpft ist, und startet automatisch das entsprechende Hilfsprogramm.

Fehlt die MIME-Information, weil weder auf Server- noch auf Client-Seite eine Zuordnung getroffen werden konnte, wird auf der Client-Seite eine Default-Aktion vorgenommen. Das entspricht meist der Darstellung eines Download-Fensters.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.