Webdav

Z DCEwiki
Skočit na navigaci Skočit na vyhledávání

Co je webdav v kostce...

WebDAV (z angl. Web-based Distributed Authoring and Versioning) je rozšíření HTTP protokolu v. 1.1 o metody COPY, LOCK, MKCOL, MOVE, PROPPATCH a UNLOCK, které umožňuje pracovat se soubory na WWW serveru.

Jednou z výhod tohoto protokolu je, že komunikuje se serverem přes stejný port jako webové služby, takže umožňuje protunelování souborů i přes relativně striktně nastavené HTTP proxy.

Modul, který přidává toto rozšíření u webového serveru Apache 2.2 se jmenuje mod_dav

Popis metod

PROPFIND
vytáhni vlastnosti souboru
PROPATCH
změň resp. zruš nějakou vlastnost souboru při atomické operaci
MKCOL
vygeneruj obsah adresáře
COPY
zkopíruj soubor z jedné adresy na druhou
MOVE
přenes soubor z jedné adresy na druhou
LOCK
zamkni soubor
UNLOCK
odstraň zámek


Zapojení do systému..

Klienti pro MS

Jelikož je připojení přes webdav možné (s větším či menším usílím) rovnou z MS systémů, tak se klientské aplikace moc nepoužívají. Možnost připojení na server přes WebDAV, většinou nabízejí jako alternativu různé aplikace - FTP klienti, programovací IDE, atp.

MS Windows 2000

Poznámka Na rozdíl od Windows 2000, XP i Vista pro WebDAV s autorizací BASIC vyžadují úpravu v registru.

MS Windows XP

Soubor:WebDav workaround XP.reg

http://hostitel/sdílený_adresář

nebo

\\hostitel\sdílený_adresář
Upozornění Neautorizovaný WebDAV je u Windows XP bezproblémový, ovšem při pokusu o autorizaci vás čeká zrada! Při autorizovaném připojení totiž jejich klient nepracuje korektně s přihlášení a posílá uživatelské jméno (login) včetně doménového jména. Jedním z možných řešení je zavést do autorizace také uživatelská jména včetně domény hostitele. Viz níže
hostitel\\login

Při zadávání přes příkazovou řádku nezapomeňte, že je třeba zabránit shellu aby zpětná lomítka interpretoval, tedy...

 user@stroj:~$ htpasswd -c /cesta_k/autorizačnímu_souboru "hostitel\\\\login"

MS Windows Vista

Jak píše Petr Tomášek ve svém blogu http://www.abclinuxu.cz/blog/vejsplechty/2007/5/webdav-a-windows-vista , Windows XP obsahovaly dva WebDAV klienty - "mini-redirector" a "webfolders client", zatímco Windows Vista má již pouze ten první ("mini-redirector"). S tím pravděpodobně souvisí, že u Windows Vista lze připojit sdílený adresář pouze s následující syntaxí:

\\hostitel\sdílený_adresář
Upozornění V případě že se pokusíte připojit sdílený adresář ve Windows Vista stejným způsobem jako v XP, se vám může stát, že to shodí hlavní proces exploreru a ten sebou vezme sebou celý OS!

Může to mít souvislost s činností antivirové ochrany. Nám se takto hroutil stroj s antivirovým programem NOD32, který se nejspíš pokoušel o analýzu HTTP protokolu přes který WebDAV běží.

Poznámka U Windows Vista, je-li WebDAV autorizován přes SSL pak je třeba do cesty doplnit že má jít přes SSL
\\hostitel@SSL\sdílený_adresář

Linux

Připojení WebDAV pod linuxem je záležitostí naprosto triviální, pokud máte v jádře zaveden modul fuse (což je dnes většinou naprosto běžná věc) a nainstalovány utility pro davfs (v Debianu aktuálně instalační balík davfs2). Pro připojení pak stačí sdílený adreář namountovat příkazem:

root@stroj:~# mount -t davfs http://hostitel/sdílený_adresář bod_připojení

resp.

user@stroj:~$ sudo mount -t davfs http://hostitel/sdílený_adresář bod_připojení

V případě že je WebDAV autorizovaný se vás systém během procesu připojení zeptá na uživatelské jméno a heslo.

Pokud chcete aby se adresář připojoval ihned po startu, nebo aby jej bylo možné připojovat pod běžným uživatelem, je třeba nastavit mountování v souboru /etc/fstab, viz příklad:

http://hostitel/sdílený_adresář bod_připojení davfs user,no_netdev,use_proxy 0 0
Poznámka Adresář sdílený přes WebDAV neumožňuje pracovat s linky a to jak "tvrdými" tak se symlinky

Klienti pro linux

Klientskou aplikací pro linuxovou příkazovou řádku je např. cadaver ( http://www.webdav.org/cadaver/ ). Hodí se zvláště v případě, kdy uživatel nemá práva k použití příkazu mount.


Připojení na jiných OS

http://www.cer.jhu.edu/index.cfm?pageID=326
Postup připojení adresáře sdíleného přes WebDAV pod Mac OS X
http://ajaxian.com/archives/javascript-webdav-client
Javascriptový klient pro použití přes AJAX, v některých prohlížečích však nemusí fungovat. Implementací tohoto klienta je Ajaxfilebrowser http://www.webdavsystem.com/ajaxfilebrowser Na jeho stránkách je k dispozici i online demo.

Externí linky

http://en.wikipedia.org/wiki/WebDAV - Wikipedia

http://interval.cz/clanky/zaklinadlo-jmenem-webdav/ - série článků na interval.cz