WebDAV

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Webdav)
Wechseln zu: Navigation, Suche
WebDAV / HTTP im TCP/IP‑Protokollstapel:
Anwendung WebDAV / HTTP
Transport TCP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI

WebDAV (Web-based Distributed Authoring and Versioning) ist ein offener Standard zur Bereitstellung von Dateien im Internet. Dabei können Benutzer auf ihre Daten wie auf eine Online-Festplatte zugreifen.

Technisch gesehen ist WebDAV eine Erweiterung des Protokolls HTTP/1.1, die bestimmte Einschränkungen von HTTP aufhebt. Bisher kennt man aus Online-Formularen meist nur die Möglichkeit, einzelne Dateien hochzuladen (HTTP-POST). Mit WebDAV können ganze Verzeichnisse übertragen werden. Zudem ist eine Versionskontrolle spezifiziert.

Vorteile von WebDAV[Bearbeiten]

Durch die enorme Verbreitung des World Wide Web zählt der von HTTP genutzte Port 80 zu den Ports, die bei Firewalls in der Regel nicht blockiert werden. Während bei anderen Übertragungsmethoden wie dem File Transfer Protocol (FTP) oder SSH (in Verbindung mit scp oder SFTP) vielfach zusätzlich Ports der Firewall geöffnet werden müssen, ist das bei WebDAV nicht nötig, da es auf HTTP aufbaut und daher nur Port 80 benötigt. Das Öffnen von zusätzlichen Ports einer Firewall erhöht den Zeit- und Arbeitsaufwand für Systemadministratoren und birgt unter Umständen zusätzliche Sicherheitsrisiken. Zudem kann der Server innerhalb eines bestehenden HTTP-Servers implementiert werden.

Mittlerweile gibt es für jedes Betriebssystem (inkl. Smartphones) direkte WebDAV-Implementierungen, die es ermöglichen, WebDAV ins System einzubinden oder zumindest per Dateimanager darauf zuzugreifen.

Da auch Benutzerrechte unterstützt werden, ist es eine echte und weitaus sicherere Alternative gegenüber Samba- oder Windows-Freigaben, besonders beim Fernzugriff. Ein weiterer Vorteil ist, dass eine WebDAV-Freigabe für Portscanner weit weniger offensichtlich ist als eine Windows-, Samba- oder NFS-Freigabe und damit zusätzlich die Angriffsfläche minimiert.

Geschichte[Bearbeiten]

Drei Arbeitsgruppen der Internet Engineering Task Force haben an WebDAV gearbeitet, um auf der Basis von HTTP Netzwerk-Standards zu schaffen, mit denen Dokumente und Dateien im Netzwerk verändert und geschrieben werden können. Diese Gruppen sind die WebDAV Working Group, die DASL Working Group und die Delta-V Working Group.

WebDAV-Arbeitsgruppe[Bearbeiten]

Die WebDAV-Arbeitsgruppe wurde von Jim Whitehead, Mitglied des W3C, initiiert, um eine Diskussion über Distributed Authoring im World Wide Web zu starten. Die ursprüngliche Vision des WWW, wie sie von Tim Berners-Lee vertreten wurde, war, dass das Web ein sowohl lesbares als auch editierbares Medium sein sollte, und Berners-Lees erster Web-Browser, genannt WorldWideWeb,[1] war tatsächlich dazu in der Lage, Seiten auch permanent zu editieren. Der rasante Wuchs des Web in den 1990ern ließ den Gedanken des Distributed Authoring jedoch untergehen, sodass es sich zu dem heutigen, weitgehend nur lesbaren Medium entwickelte. Allerdings enthalten auch die heutigen HTTP-Spezifikationen noch die HTTP-Requests PUT und DELETE, die jedoch von den allermeisten Webservern mit dem HTTP-Statusfehler „405 Method Not Allowed“ abgelehnt werden. Whitehead und seine Mitstreiter haben sich im Rahmen der WebDAV-Arbeitsgruppe das Ziel gesetzt, diese Limitierung aufzuheben.

Die Gruppe, die sich dann im Rahmen eines W3C-Meetings im Dezember 1995 traf, entschied sich dafür, dass die beste Vorgehensweise die Gründung einer IETF-Arbeitsgruppe wäre. Die IETF erschien am naheliegendsten, weil das HTTP dort standardisiert war und man annahm, dass das letztendliche Ergebnis dieser Arbeitsgruppe eine Erweiterung von HTTP sein würde.

Als die Arbeit am Protokoll im November 1996 begann, wurde klar, dass eine Behandlung sowohl des Aspekts des Distributed Authorings als auch der Versionskontrolle zu viel auf einmal wäre und dass die Aufgaben auf mehrere Gruppen verteilt werden müssten. Die WebDAV-Arbeitsgruppe entschied sich dafür, sich zunächst auf Distributed Authoring zu konzentrieren und sich den Versionskontrollmechanismus für später aufzuheben. Einige Mitglieder meinten daraufhin scherzhaft, dass die Gruppe besser in WebDA umbenannt werden solle.

Aus der WebDAV-Arbeitsgruppe sind bis heute mehrere Dokumente hervorgegangen:

Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web, RFC 2291
eine Sammlung von Anforderungen
HTTP Extensions for Distributed Authoring — WebDAV, RFC 2518
das (ursprüngliche) Basis-Protokoll
Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol, RFC 3648
Sortierung von Verzeichniseinträgen
Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol, RFC 3744
Zugriffsrechte
Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections, RFC 4331
Quotas
Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources, RFC 4437
Behandlung von „Redirects“
HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV), RFC 4918
eine aktualisierte Fassung des Basisprotokolls

Die WebDAV-Arbeitsgruppe wurde im Frühjahr 2007 aufgelöst.

Die Arbeitsgruppen DASL und Delta-V[Bearbeiten]

Aus der WebDAV-Gruppe gingen weitere IETF-Arbeitsgruppen hervor, zu denen auch die DAV Searching and Locating-Gruppe (DASL) und die Web Versioning and Configuration Management (Delta-V)-Arbeitsgruppe gehören. Die DASL produzierte nie einen offiziellen Standard, ein Entwurf wurde allerdings außerhalb der Arbeitsgruppe weiterentwickelt und liegt nun als RFC 5323 vor. Die Delta-V definierte die Versioning-Erweiterungen für WebDAV (RFC 3253), mit denen sich WebDAV nun mit Recht WebDAV nennen darf.

Technische Hintergründe[Bearbeiten]

Das WebDAV-Protokoll erweitert das vorhandene Hypertext Transfer Protocol um einen Satz neuer Methoden und Header-Attribute.

Zusätzliche Anfrage-Methoden, die von WebDAV-konformen Webservern behandelt werden müssen
HTTP-Methode Beschreibung
PROPFIND wird benutzt, um Eigenschaften, abgelegt als XML, einer Ressource zu erfahren. Außerdem wird sie benutzt („überladen“), um die Verzeichnisstruktur eines entfernten Systems in Erfahrung bringen zu können
PROPPATCH ändert und löscht mehrere Eigenschaften einer Ressource in einer einzigen Anfrage (einem „atomaren Akt“)
MKCOL erstellt ein Verzeichnis (bei WebDAV „Collection“ genannt)
COPY Kopiert eine Ressource, die Dateinamen werden dabei in Form einer URI angegeben
MOVE Verschiebt eine Ressource (mit der gleichen Syntax wie COPY)
DELETE Löscht eine Ressource (mit der gleichen Syntax wie COPY)
LOCK Weist den Webserver an, die Ressource zu sperren. Damit soll verhindert werden, dass die Ressource auf dem Server anderweitig bearbeitet wird, während der anfragende Client das tut.
UNLOCK Entfernt die Sperre wieder

Ressource ist in diesem Sinn ein HTTP-spezifischer Begriff, der in etwa als „das Ding, auf das ein URI zeigt“ definiert werden kann. Dabei handelt es sich in der Regel um Dateien auf dem Webserver.

WebDAV und Reverse Proxy[Bearbeiten]

WebDAV lässt sich auch hinter einem Reverse Proxy betreiben. Wenn man die Benutzerverwaltung von WebDAV verwendet, muss man dem Proxy mitteilen, die Authentifizierung auf dem Webserver abzuhandeln. Zum Beispiel bei Squid:

   – cache_peer webserver ..... login=PASS

Implementierungen[Bearbeiten]

WebDAV ist in allen gängigen Webservern und in vielen Dateimanagern implementiert. Microsoft unterstützt es rudimentär seit Windows XP wie ein herkömmliches Dateisystem, Apple seit Mac OS X und jede größere Linux-Distribution.

Im Lieferumfang des Apache HTTP Server befindet sich das DAV-Modul mod_dav. Es kann mit dem Catacomb WebDAV Server erweitert werden.

Zudem wird es auf Android, iOS und einigen anderen Smartphone-Betriebssystemen per App unterstützt.

Weblinks[Bearbeiten]

  • Offizielle WebDAV-Homepage mit Software-Überblick
  • WebDAV mit Apache-Server bei Heise Netze
  • WebDAV mit Microsofts IIS bei Heise Netze
  • WebDAV mit JAX-RS, also auf Basis von Java EE auf java.net
  • RFCs
    • RFC 2291Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web
    • RFC 2518HTTP Extensions for Distributed Authoring – WEBDAV
    • RFC 3253Versioning Extensions to WebDAV
    • RFC 3648Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol
    • RFC 3744Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol
    • RFC 4316Datatypes for Web Distributed Authoring and Versioning (WebDAV) Properties
    • RFC 4331Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections
    • RFC 4437Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources
    • RFC 4918HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
    • RFC 5323Web Distributed Authoring and Versioning (WebDAV) SEARCH
    • RFC 6578Collection Synchronization for Web Distributed Authoring and Versioning (WebDAV)

Einzelnachweis[Bearbeiten]

  1. Browser „WorldWideWeb“ auf w3.org