Webdav
WebDAV (z angl. Web-based Distributed Authoring and Versioning) je rozšíření HTTP protokolu verze 1.1 o metody COPY, LOCK, MKCOL, MOVE, PROPPATCH a UNLOCK, které umožňuje pracovat se soubory na WWW serveru.
Výhodou tohoto protokolu je, že využívá stejný HTTP protokol, jako webové služby a porty 80 (HTTP) a 443 (HTTPS) jsou - na rozdíl od portů, přes které fungují jiné komunikační protokoly - obvykle průchozí, aby se uživatelé mohli z vnitřní sítě dostat k webovým stránkám. Proto umoňuje přenášení souborů na server i přes relativně striktně nastavený firewall nebo proxy.
FTP protokol, určený k přenášení souborů po síti, je starší než HTTP protokol. Jeho návrh pochází již z r. 1986 - z doby, kdy ještě nikoho nenapadlo uvažovat o potencionálních možnostech zneužití. Veškerá data se jím přenášela v čitelné podobě - včetně přihlašovacích údajů, takže případnému škůdci stačilo kdekoliv po trase odchytit dostatečné množství paketů a pak v nich tyto údaje vyhledat.
V těch dřevních dobách webu kdy byl editor webových stránek součástí některých prohlížečů se k přenosu souborů z klienta na server zpočátku využíval pouze integrovaný FTP klient. Protože v r. 1997 ještě neexistovala pro WebDAV žádná funkční implementace, byla specifikace FTP protokolu rozšířena o přidané bezpečnostní prvky. Teprve zhruba od r. 2003 začaly některé webové servery nabízet jako alternativu pro upload souborů také WebDAV. Ovšem v té době už byl integrovaný wysiwyg editor pouze v Mozille - poslední verze, která jej ještě obsahovala (1.7.13) byla vydaná na jaře 2008.
WebDAV měl význam především pro wysiwyg editory HTML stránek, jako byla Amaya, Frontpage nebo editor v Mozille, ovšem ty se hodily pouze pro správu statického webu. Internetový boom v závěru 20. století ale vynesl do popředí weby s dynamicky generovaným obsahem, kde finální podoba webové stránky závisela na interpretaci kódu stránky na straně serveru v kombinaci s renderovacími schopnostmi jádra webového prohlížeče. Přístup k souborům s využitím WebDAVu byl, především kvůli potenciálnímu riziku při zneužití - zbytečný. A většina programátorů webový aplikací byla zvyklá používat FTP klienta, takže o to ani nebyl příliš zájem.
WebDAV se stal zajímavou alternativou až s nástupem chytrých mobilních zařízení s trvalým přístupem s internetové síti. A to pro svůj potenciál využitelný ke sdílení uživatelských dat mezi pracovní stanicí a mobilním telefonem.
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
Server
HTTP protokol s rozšířením pro WebDAV je ve své podstatě podobně otevřený protokol jako FTP, umí-li však systém na klientském zařízení svou komunikace se serverem šifrovat pomocí SSL, lze považovat tento přenos dat za dostatečně bezpečný. A protože SSL šifrování dnes zvládají prakticky všechny používané platformy - včetně těch mobilních - začalo se WebDAVU využívat pro sdílení souborů s osobními daty, jako jsou sdílené kalendáře, adresáře, poznámky aj.
Existuje celá řada specializovaných WebDAV serverů, které se neřeší pouze soubory jako takové, ale i jejich interpretaci a administraci.
WsgiDAV
WscgiDAV je server, napsaný v pythonu, který lze používat samostatně ale využívají ho jako základ pro komunikaci s klienty i jiné specializované servery
Apache
Apache je především využívaný jako webový server, který však ale umožňuje se zavedeným modulem mod_dav používat také WebDAV přístup.
Specializované DAV servery
- radicale
Klienti
Klienti pro MS Windows
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
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ář
MS Windows Vista a vyšší
Soubor:WebDav workaround Vista.reg
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ář
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
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.
Mac OS X
Android
BlackBerry
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