- WebDAV
-
WebDAV / HTTP im TCP/IP‑Protokollstapel: Anwendung WebDAV / HTTP Transport TCP Internet IP (IPv4, IPv6) Netzzugang Ethernet Token
BusToken
RingFDDI … 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
Vorteile von WebDAV
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 Methode als 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
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.
WebDAV-Arbeitsgruppe
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, prinzipiell nur lesbaren Medium entwickelte. Allerdings enthalten auch die heutigen HTTP-Spezifikationen noch die HTTP-Requests
PUT
undDELETE
, 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:
- eine Sammlung von Anforderungen: Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web, RFC 2291
- das (ursprüngliche) Basis-Protokoll: HTTP Extensions for Distributed Authoring — WebDAV, RFC 2518
- Sortierung von Verzeichniseinträgen: Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol, RFC 3648
- Zugriffsrechte: Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol, RFC 3744
- Quotas: Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections, RFC 4331
- Behandlung von „Redirects“: Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources, RFC 4437
- eine aktualisierte Fassung des Basisprotokolls: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV), RFC 4918
Die WebDAV-Arbeitsgruppe wurde im Frühjahr 2007 aufgelöst.
Die Arbeitsgruppen DASL und Delta-V
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
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.
WebDAV und Reverse Proxy
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
WebDAV ist in allen gängigen Webservern und Dateimanagern implementiert. Microsoft unterstützt es rudimentär seit Windows XP wie ein herkömmliches Dateisystem, Apple seit Mac OS X und Linux optional.
Zudem wird es auf Android, iOS und einigen anderen Smartphone-Betriebssystemen per App unterstützt.
Weblinks
- 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 2291 – Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web
- RFC 2518 – HTTP Extensions for Distributed Authoring – WEBDAV
- RFC 3253 – Versioning Extensions to WebDAV
- RFC 3648 – Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol
- RFC 3744 – Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol
- RFC 4316 – Datatypes for Web Distributed Authoring and Versioning (WebDAV) Properties
- RFC 4331 – Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections
- RFC 4437 – Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources
- RFC 4918 – HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
- RFC 5323 – Web Distributed Authoring and Versioning (WebDAV) SEARCH
Einzelnachweis
- ↑ Browser „WorldWideWeb“ auf w3.org
Kategorie:- Netzwerkprotokoll auf Anwendungsschicht
Wikimedia Foundation.