| Anwendung | Webdav | ||||
| 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.
Inhaltsverzeichnis |
Durch die enorme Verbreitung des World Wide Webs zählt der von dem HTTP genutzten 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 dies bei WebDAV nicht nötig, da dies 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 zusätzliche Sicherheitsrisiken, da z. B. mit SSH-Verbindungen durch eine Firewall hindurch beliebige TCP-Ports getunnelt werden können.
Drei Arbeitsgruppen der IETF (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.
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 Webs in den 1990ern ließ den Gedanken des Distributed Authoring jedoch untergehen, sodass es sich zu dem heutigen, prinzipiell 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 des 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 sollte.
Aus der WebDAV-Arbeitsgruppe sind bis heute mehrere Dokumente hervorgegangen:
Die WebDAV-Arbeitsgruppe wurde im Frühjahr 2007 aufgelöst.
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.
Das WebDAV-Protokoll erweitert das vorhandene Hypertext Transfer Protocol mit einem Satz neuer Methoden und Header-Attribute.
| 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) |
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 dies 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.
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