21.4 WebDAV
WebDAV ist eine interessante technische Möglichkeit, Dateien und Ordner auf entfernten Rechnern abzulegen – im Prinzip also nichts anderes als das, was auch ftp und ssh ermöglichen. Also nichts Neues – oder doch? Wir wollen im Folgenden diese Technik genauer betrachten sowie die Stärken und Schwächen beleuchten. Des Weiteren betrachten wir die Voraussetzungen, die Sie auf der Clientseite benötigen.
21.4.1 Grundlagen
WebDAV (Web-based Distributed Authoring and Versioning) ist eine Erweiterung des Protokolls HTTP/1.1 und ein offener Standard zur Bereitstellung von Dateien im Internet. Hierbei werden bestimmte Einschränkungen von HTTP aufgehoben, und die Benutzer können auf ihre Daten wie auf eine Onlinefestplatte zugreifen. Bei regulärem HTTP ist es nur möglich, einzelne Daten hochzuladen (zum Beispiel in Formularen); mit WebDAV gibt es hier keine Grenzen – bis hin zum Verschieben von ganzen Verzeichnissen. Des Weiteren ist eine Revisionskontrolle ähnlich wie cvs oder svn implementiert.
An der Tatsache, dass es sich bei WebDAV »nur« um eine Erweiterung des HTTP-Protokolls handelt, erkennen Sie den wesentlichen Vorteil der Technik: Es nutzt den Standard-HTTPPort (meist 80/TCP). Dadurch kann es in der Regel auch verwendet werden, wenn sich zwischen zwei Rechnern eine Firewall befindet. Bei anderen Übertragungsmethoden wie dem File Transfer Protocol (FTP) oder ssh müssen vielfach zusätzlich Ports der Firewall geöffnet werden. Dies bringt zwar meistens kein erhöhtes Sicherheitsrisiko mit sich, erhöht aber den Zeit- und Arbeitsaufwand, um eine Verbindung zu ermöglichen. Die erwähnte Revisionskontrolle ist weder bei ftp noch bei ssh »out of the Box« möglich.
Entwicklung
Die Entwicklung von WebDAV begann im Jahre 1995, als sich mehrere Unternehmen und Organisationen (DARPA, Microsoft, Netscape, Novell, U.C Irvine, W3C, Xerox) unter der Führung von Jim Whitehead zusammenschlossen. Heute sind an WebDAV drei Arbeitsgruppen der IETF (Internet Engineering Task Force) beteiligt. Sie bilden gemeinsam die WebDAV Working Group, die DASL Working Group und die Delta-V Working Group. Das Ziel wurde bereits 1995 vereinbart und bestand in einem »editierbaren« Web.
Erweiterung des HTTP-Protokolls
Es wurde ziemlich schnell klar, dass das letztendliche Ergebnis dieser Arbeitsgruppe eine Erweiterung des HTTP-Protokolls sein würde (siehe hierzu Abschnitt »Das HTTP-Protokoll«). Zu Beginn stand die Entwicklung des Distributed Authorings (verteiltes Bearbeiten) im Vordergrund. Die Funktionalität der Versionskontrolle wurde erst später in das System integriert. Detaillierte Informationen über die Anforderungen und die Spezifikationen des Protokolls sind in den beiden Dokumenten RFC 2291 (Anforderungen) und RFC 2518 (Protokoll) zu finden. Derzeitige Arbeiten konzentrieren sich auf eine Reihe von Erweiterungen, wie zum Beispiel Authentifizierung, Redirection-Kontrolle und Sortierung von Einträgen in Collections.
Technische Hintergründe
WebDAV ist, wie erwähnt, eine Erweiterung von HTTP und benutzt hierfür XML (ExtensibleMarkup Language). Diese Methoden sind für die Gewährleistung der neuen Funktionalitäten (Locking, Propertys, Collections) notwendig. HTTP selbst definiert acht Methoden:
- GET / PUT / DELETE – eine Ressource anfordern, schreiben oder löschen (WebDAV: DELETE – eine Collection löschen)
- POST – Informationen an den Browser übermitteln (Formulardaten und Ähnliches)
- HEAD – ähnlich wie GET. Der Unterschied besteht darin, dass das System in seiner Response keinen Message-Body zurückgeben muss.
- OPTIONS – Information über eine Kommunikation anfordern, ohne eine Aktion auszuführen
- TRACE – für Test- und Diagnosezwecke (Request-Response-Kette prüfen)
- CONNECT – reserviert für das Tunneling bei Proxys.
Weitere sieben Methoden werden speziell von WebDAV definiert:
- LOCK – setzt für den Überschreibschutz eine Sperre auf eine Collection oder Ressource.
- UNLOCK – gibt eine gesperrte Collection oder Ressource wieder frei.
- PROPFIND – liest Meta-Daten von Ressourcen oder Collections.
- PROPPATCH – schreibt Meta-Daten von Ressourcen oder Collections.
- COPY – kopiert Collections und Ressourcen innerhalb eines zusammenhängenden Namensraumes.
- MOVE – verschiebt Collections und Ressourcen innerhalb eines zusammenhängenden Namensraumes.
- MKCOL – erzeugt eine neue Collection.
Aktuelle Möglichkeiten
Im Großen und Ganzen sind es drei Anwendungsgebiete, auf denen WebDAV seine Vorteile ausspielen kann:
- Vereinfachung des Publizierens auf Webservern
Erstellte Dokumente mehrfach zu transformieren und dann per FTP auf den Webserver hochzuladen, ist ein umständlicher Weg. WebDAV bietet hier die Möglichkeit, Dateien bequem auf Webservern zu verwalten. Damit sind das Publizieren und die Versionskontrolle von Webseiten so einfach wie das Speichern auf der eigenen lokalen Festplatte. - Arbeitsgruppen
Die Arbeit von Arbeitsgruppen ist wesentlich effizienter geworden. Anstatt einzelne Dokumente zwischen den Gruppenmitgliedern per E-Mail zu verschicken, können Sie sie direkt über die Seite verschieben, die Sie gerade bearbeiten. Der Locking-Mechanismus schützt dabei vor unerwünschten Zugriffen und dem Überschreiben von Änderungen. - Content-Management
In Verbindung mit WebDAV-fähigen Content-Management-Applikationen können einzelne Eigenschaften mit beliebigen Webressourcen verknüpft werden. So können Sie zum Beispiel einzelne Dateien indizieren und eine Auswahl nach dem Autor oder nach Kombination der Schlüsselwörter usw. durchführen.
21.4.2 Konfiguration
Um WebDAV nutzen zu können, brauchen Sie einen Client und einen Server, der dieses Protokoll unterstützt. Wir gehen zunächst auf die Clientseite ein. Viele Provider und E-Mail-Anbieter stellen ihren Nutzern WebDAV zur Verfügung. Einen kostenlosen Testzugang erhalten Sie zum Beispiel bei www.venuecom.com. Wenn Sie zum Beispiel ein Postfach bei web.de oder gmx.de besitzen, kommen Sie auch bei diesen Anbietern zu entsprechendem Platz. Mit modernen Windows- und Linux-Versionen ist ein Zugriff auf solche WebDAV-Server kein Problem. Wir werden im Folgenden die verschiedenen Möglichkeiten besprechen, mit denen Sie Zugriff auf WebDAV haben.
Tipp 280: Mit Cadaver auf WebDAV zugreifen |
Der Klassiker unter den Zugriffsmöglichkeiten ist Cadaver, ein Tool für die Kommandozeile. Sie können sich die aktuelle Version unter www.webdav.org/cadaver/ herunterladen, aber dieses Tool ist in allen großen Distributionen enthalten. In Debian-basierten Distributionen ist meist aus lizenzrechtlichen Gründen der SSL-Support nicht enthalten, da hilft dann nur, es selbst zu kompilieren. Die Bedienung ist außerordentlich einfach. Mit einem |
cadaver https://www.webdav.de |
verbinden Sie sich mit dem Server, und mit den Befehlen put (hochladen) und get (herunterladen) tauschen Sie Dateien aus. Ansonsten navigieren Sie auf dem WebDAV-Server wie gewohnt, also mit ls, cd usw. Konsultieren Sie die Manpage für weitere Informationen. |
Ein WebDAV-Verzeichnis einhängen
Um ein WebDAV-Verzeichnis per Konsole zu mounten (am besten in das Verzeichnis/media/), benötigen Sie das Paket davfs2:
sudo apt-get install davfs2
Danach legen Sie im Verzeichnis /media/ ein entsprechendes Verzeichnis an, in dem Sie dann die WebDAV-Verbindung realisieren:
sudo mkdir /media/VerzeichnisName
Jenes Verzeichnis sollte mit eingeschränkten Rechten versehen werden, so dass die oder der Benutzer allenfalls darin schreiben dürfen. In diesem Fall bekommen alle Benutzer Lese- und Schreibrechte:
sudo chmod 0766 /media/VerzeichnisName
Wird dieser Befehl vergessen, kann das Laufwerk zwar eingehängt werden, aber niemand außer Root darf darin schreiben.
Nun können Sie das Verzeichnis mounten, so dass es sich fast wie ein lokales Laufwerk bedienen lässt:
sudo mount -t davfs https://www.zieladresse.ch /media/VerzeichnisName/
Jetzt können Sie Daten per Drag & Drop auf das Verzeichnis verschieben. Die Technik verwendet einen Cache-Speicher zur Beschleunigung. Falls das Verzeichnis dauerhaft eingebunden werden soll, bietet sich eine Lösung mit der Datei fstab an. Um das Verzeichnis wieder sauber auszuhängen, müssen Sie erneut einen Befehl per sudo absetzen:
sudo umount /media/VerzeichnisName
Es kann allenfalls einen Moment dauern, bis das Laufwerk ausgehängt wird, da der Cache eventuell noch übertragen werden muss.
Grafischer Zugriff
Ubuntu integriert von Haus aus alle notwendigen Voraussetzungen für einen leichten Umgang mit WebDAV. Der Dateimanager Nautilus ist hier das Werkzeug der Wahl. Sie müssen lediglich den WebDAV-Server als neuen Zugriffsort angeben. Dazu können Sie bei Nautilus unter Datei • Mit Server verbinden... den WebDAV-Server eintragen (siehe Abbildung 21.4). Ubuntu unterstützt dabei sowohl gesicherte (webdavs://) als auch ungesicherte Verbindungen (webdav://).
Abbildung 21.4 »WebDAV«-Server unter Ubuntu einbinden
Wenn Sie diese Verbindung wieder lösen möchten, reichen ein Rechtsklick auf das zugehörige Icon und ein Anklicken des Menüpunktes Datenträger aushängen. Leider ist GNOME bei manchen Webserver-Konfigurationen nicht in der Lage, sich das Passwort zu merken.
Tipp 281: WebDAV unter KDE |
Unter KDE gestaltet sich die Integration von WebDAV ähnlich einfach wie unter GNOME. Hier nutzen Sie das Pendant zu Nautilus, den allmächtigen Konqueror. In diesem müssen Sie lediglich die Adresse des Servers in die Adressleiste eingeben. Bei der nachfolgenden Abfrage können Sie entscheiden, ob sich der Konqueror den Benutzernamen und das Passwort merken soll. Der »Datei-Eroberer« von KDE agiert hierbei vorbildlich und ist einfacher zu bedienen als Nautilus. |
Abbildung 21.5 Der »Konqueror« beherrscht »WebDAV« ebenfalls standardmäßig.
Abbildung 21.6 Der Umgang des »Konquerors« mit einem »WebDAV«-Server ist selbsterklärend.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.