WebDAV (Web-based Distributed Authoring and Versioning)
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.
Quelle: Wikipedia
Clients
webbasiert
Linux
- Krusader: webdav(s)://Adresse
normale Benutzer sollen webdav ohne root-Rechte mounten dürfen (nur Debian/Ubuntu):
sudo dpkg-reconfigure davfs2
in /etc/fstab
:
https://SERVER/owncloud/remote.php/webdav /media/SERVER davfs user,rw,noauto 0 0
MacOS X
Windows
net use <gewünschter und freier Laufwerksbuchstabe>: https://<WebDAV-Pfad>:<Port> /user:<Benutzername> <Passwort> /persistent:yes
Bei einem konkreten Beispiel (hier Strato) sieht das folgendermaßen aus:
net use Y: https://webdav.hidrive.strato.com:443 /user:maxmuster GeheimesPasswort /persistent:yes
Das geht auch mit einer Verknüpfung auf dem Desktop.
- Bitkinex Webdav Client (Freeware, geht schnell eingerichtet, Nachteil ist die fehlende Integration in den Explorer
- Cyberduck - kostenlos, leider keine Integration in den Windows-Explorer
- WebDrive Client mit Unterstützung von vielen Protokollen, aber relativ teurer
- expandrive (Download) - relativ teurer
- Totalcommander (Eine Explorer-Alternative) mit webdav-plugin
- carotDAV - kostenlos, Versachlüsselungsfunktionen, leider keine Integration in den Windows-Explorer
Anbieterspezifisch
- Strato Hidrive Client für Windows (nur für Hidrive, erzeugt lediglich den Laufwerksbuchstaben für den Windows-Client)
- DriveOnWeb WebDAV-Client - funktioniert nur mit diesem Anbieter
- Xythos Drive (download) kommerziell - nur noch als Teil von Blackboard Drive erhältlich
- Telekom Mediacenter Software - funktioniert nur mit diesem Anbieter
Links und Anleitungen
- Win XP
- in alten Version des Internet Explorers (nicht IE 7(?) und 8): Datei/Öffnen (als WebOrdner öffnen)
- Windows in neueren Version (ab Vista) ist leider sehr zickig was Webdav angeht: SSL Webdav u. Windows 7 Benutzeranleitung wenn alles vorbereitet ist: Einrichten eines WebDAV-Netzlaufwerks unter Windows Vista/Windows 7
Probleme in der Praxis
Gültig für alle:
- Dateien werden komplett übertragen obwohl Webdav Teiluploads („Partial Write“) spezifiziert
- Parameteraushandlung uneinheitlich (mal im Header mal im Body) jeweils als XML übertragen
- unterschiedliche Formate für Zeitstempel
- Unklare Spec bei Groß- und Kleinschreibung
- Auskunft über freien Speicherplatz u.U. nicht korrekt, das liegt an Clients die den RFC 4331 1) nicht (korrekt) implementieren (z.B. zeigt der Client des Windows-Explorers lediglich den freien Platz von Laufwerk C: an)
- Fähigkeiten des Server (Class 1 oder 2) werden meist vom Client ignoriert
Windows
- Windows 98 bis 2000: Anzeige über Webbrowser
- Windows XP: Einbindung ähnlich normaler Laufwerke
- lokaler WebDAV-Cache (mit Administrator-rechten kann man die Dateien anderer Benutzer einsehen)
- XP:
C:\Dokumente und Einstellungen\LocalService\Lokale Einstellungen\TemporaryInternetFiles\Content.IE5\
- Win7: C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\TfsStore\Tfs_DAV
Fehlerliste
alle Windows Versionen
- Wenn auf C:\ nicht genug Speicherplatz frei ist, kommt es zu Zugriffsproblemen
- alle Windows-versionen incl. Win 7: wenn Benutzeranmeldung erforderlich ist, überträgt Windows alle Dateien doppelt - erstmal so und dann noch ein zweites Mal mit Anmeldedaten
- Office-Anwendungen reden mit dem WebDAV-Server direkt um Locking und Versionhistorie zu bieten, scheitern dabei u.U. aber beim Speichern
Windows XP
- ab XP SP2 bis incl. Win7: no-basic-auth: Lösung:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\UseBasicAuth
auf 1 setzen - XP: künstliche Größenbeschränkung bei der Dateigröße auf 50MB (Lösung und Beschreibung in der knowledgebase von MS)
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\FileSizeLimitInBytes auf einen höheren Wert als 50000000 (=50 MB), maximal möglich sind 4G
- XP Probleme bei mehr als 1000 Dateien auf der Freigabe (in der Registry Erhöhung des Puffers nötig):
HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\FileAttributesLimitInBytes
auf z. B. 1000
Den folgenden Text als Reg-Datei abspeichern und Zusammenführen:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters] "UseBasicAuth"=dword:00000001 "FileSizeLimitInBytes"=dword:ffffffff "FileAttributesLimitInBytes"=dword:0000c350
Windows Vista
- ab XP SP2 bis incl. Win7: no-basic-auth
- Lösung:
- XP:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
auf 1 setzen - Vista: auf 2 setzen um auch Verbindung ohne SSL zuzulassen
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters] "UseBasicAuth"=dword:00000002 "FileSizeLimitInBytes"=dword:ffffffff "FileAttributesLimitInBytes"=dword:0000c350
Windows 7
- ab XP SP2 bis incl. Win7: no-basic-auth
- Lösung:
- XP:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
auf 1 setzen - Vista: auf 2 setzen um auch Verbindung ohne SSL zuzulassen
- Sonderzeichenkodierung (Win7 streikt bei „&“ mit Fehlermeldung „Datei zu groß“, ältere Windows-versionen kodieren es korrekt als „%26“)
- u.U. sehr langsam, siehe KB2445570 (Lösung: bei Internetoptionen die automatische Suche der Einstellungen / Automatically detect settings abschalten)
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters] "UseBasicAuth"=dword:00000001 "FileSizeLimitInBytes"=dword:ffffffff "FileAttributesLimitInBytes"=dword:0000c350
Server 2003
- spontane Reboots bei Windows Server 2003 (wenn mit „
net start|stop Webclient
“ gearbeitet wird)
MacOS X
Finder
- stürzt u. U. ab was praktisch einen Neustart bedeutet
- Fähigkeitenaushandlung fehlerhaft, bei Class 1 (kein file-locking) Einbindung als schreibgeschützt, bei Class 2 wird locking ignoriert
transmit
- transmit funktioniert nicht mit allen Webserver/PHP-Modul-Kombinationen, scheint aber deutlich robuster zu sein als der Finder
Linux
Bei davfs bzw. davfs2 sind mir keine Bugs bekannt.
Server
WebDAV in Apache
Anleitungen und Informationen
SSL
Apache Beispielkonfiguration Webdav
Apache-Module aktivieren (Debian):
a2enmod dav_fs dav_lock
Die Konfiguration von SSL wird auf der Apache-Seite erklärt.
<VirtualHost *:80> ServerAdmin webmaster@localhost Servername webdav.domain.tld DocumentRoot /srv/www/webdav.domain.tld <Location / > DAV On <LimitExcept GET HEAD OPTIONS> Require valid-user </LimitExcept> AuthType Basic AuthName "Restricted data" AuthUserFile /srv/www/.DAVlogin Require valid-user </Location> ErrorLog /var/log/apache2/webdav.domain.tld_error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/webdav.domain.tld_access.log combined </VirtualHost>