Każdy z nas zapewne zna protokoły HTTP czy HTTPS, służące do przesyłania dokumentów hipertekstowych, mało kiedy na swojej drodze spotykamy bardziej egzotyczne protokoły. W dzisiejszym poście chciałbym wam przybliżyć protokół WebDav, który mogłem wypróbować przy okazji testowania darmowego oprogramowania chmury OwnCloud.
Co to jest?
WebDav(Web Distributed Authoring and Versioning) jest rozszerzeniem protokołu HTTP pozwalającym na zarządzanie i kontrolę wersji plików na serwerze WWW. Został zdefiniowany w dokumencie RFC4981 przez IETF(Internet Engineering Task Force) nieformalne, międzynarodowe stowarzyszenie osób zainteresowanych ustanawianiem standardów technicznych i organizacyjnych w Internecie.
Standard ten dodaje do protokołu HTTP takie metody jak:
- PROPFIND - pobierz własności zasobu
- PROPPATCH - zmień lub skasuj różne własności zasobu w atomowej operacji
- MKCOL - utwórz "kolekcję" (katalog)
- COPY - skopiuj zasób z jednego adresu na drugi
- MOVE - przenieś zasób z jednego adresu na drugi
- LOCK - zablokuj zasób (zarówno dzielone jak i wyłączne blokady)
- UNLOCK - usuń blokadę z zasobu
Przykładowymi implementacjami WebDav-a są:
-
mod_dav - Implementacja dla serwera Apache, aby uruchomić moduł trzeba dodać w pliku
http.conf
dodać linijkę:Dav on
-
SabreDav - OpenSource-owa implementacja napisana w języku PHP. Niestety nie jest ona do końca zgodna z specyfikacją.
Trochę historii
Pierwszym zastosowaniem protokołu WebDAV było w Windows 98 w opcji o nazwie "Foldery sieci web". W kolejnych wersjach systemu protokół został zintegrowany z przeglądarką plików Windows Explorator Windows i działa w postaci usługi systemowe.