# Web-based Distributed Authoring and Versioning

Web-based Distributed Authoring and Versioning, normalmente abbreviato in WebDAV (in italiano traducibile come "creazione e versionamento distribuiti di documenti sul web"), si riferisce a un set di istruzioni del protocollo HTTP, che permettono all'utente di gestire in modo collaborativo dei file in un server remoto.

## Storia

La storia del protocollo WebDAV inizia quando Jim Whitehead convinse la W3C ad intraprendere due riunioni dove le persone interessate alla creazione condivisa di contenuti sul World Wide Web potessero incontrarsi e discutere sulle possibili soluzioni. La visione originale del World Wide Web, come esposta da Tim Berners-Lee, doveva essere un medium sia leggibile che scrivibile. Il suo primo browser web, chiamato WorldWideWeb, era capace sia di visualizzare che di modificare pagine Web. Comunque, evolvendosi, il web divenne per molte persone un medium di sola lettura. Jim Whitehead ed altre persone con idee simili decisero di risolvere questa limitazione. Il gruppo che si incontrò al W3C decise che la miglior strada da seguire era quella di formare un gruppo di lavoro IETF. Fu scelto l'IETF perché sembrava una scelta naturale in quanto il protocollo HTTP era in fase avanzata di standardizzazione e quindi le estensioni andavano sviluppate per quel protocollo se si intendeva diffonderle. Con l'inizio del lavoro sul protocollo divenne chiaro che gestire sia la creazione che il versioning era troppo e quindi i compiti andavano separati. Il gruppo di lavoro del WebDAV decise di concentrarsi solo sulla distribuzione e condivisione di contenuti rimandando a sviluppi futuri le altre specifiche del protocollo.
Il gruppo WebDAV ha fondato altri gruppi IETF come il DAV Searching and Locating (DASL) o il Web Versioning and Configuration Management (DELTAV). Il DASL non ha mai pubblicato nessuno standard ufficiale anche se esistono numerose implementazioni sulla sua ultima bozza. Il DELTAV ha prodotto una estensione per il Versioning al protocollo WebDAV (RFC 3253). La homepage del progetto WebDAV contiene informazioni aggiornate sulle implementazioni del protocollo e sulle specifiche degli standard.

## Caratteristiche ed utilizzo

Questo protocollo ha lo scopo di rendere il World Wide Web un mezzo di lettura e scrittura, seguendo le linee guida dell'idea originale di Tim Berners-Lee. Offre delle funzionalità che permettono la creazione, la modifica lo spostamento di documenti situati in un server remoto (tipicamente un web server o, detto propriamente, web share).
Qualità importanti che sono presenti nel protocollo WebDAV includono un sistema di blocco (ovvero protezione dalla sovrascrittura dei file), di proprietà (creazione, rimozione e richieste di informazioni riguardo all'autore, alla data di modifica, etc.), gestione del dominio (possibilità di copiare e muovere pagine Web all'interno del dominio) e di collezioni (creazione, rimozione ed elencazione di risorse simili a delle directory). Molti sistemi operativi moderni hanno un supporto integrato per il protocollo WebDAV. Con il giusto client ed una rete veloce, la gestione dei file su server WebDAV è facile quasi quanto una gestione dei file in locale.
Questo è pratico per la creazione di file che servono per il web server o più semplicemente per la creazione di un web-based file storage che può essere raggiungibile da qualsiasi punto.

## Supporto server

* Apache HTTP Server
* lighttpd
* Mailfence
* ownCloud
* NGINX
* Microsoft IIS
* Nextcloud

## Istruzioni fondamentali

Il protocollo consiste in un set di nuovi metodi e intestazioni da usare in ambiente HTTP; si è distinto per essere stato il primo protocollo in assoluto ad utilizzare l'XML.
* PROPFIND – usato per ottenere proprietà, sotto forma XML, da risorse. Può essere usato anche per ottenere la struttura della collezione;
* PROPPATCH – usato per cambiare e cancellare diverse proprietà mediante una singola operazione;
* MKCOL – usato per creare delle collezioni (directory);
* COPY – usato per copiare risorse;
* MOVE – usato per spostare delle risorse;
* LOCK – usato per bloccare una risorsa. WebDAV supporta sia blocchi per gruppi sia blocchi esclusivi;
* UNLOCK – rimuove il blocco da una risorsa;
* SEARCH – avvia una ricerca sul server.
Il gruppo di lavoro del WebDAV è al lavoro su nuove istruzioni che lo terranno al passo con i nuovi standard di Internet.

## L'estensione CalDAV e GroupDAV

CalDAV è un protocollo che permette un accesso ai calendari mediante il WebDAV. Gli elementi dei calendari sono risorse memorizzate nel formato ICalendar ed i calendari che contengono gli eventi sono delle normali collezioni del protocollo WebDAV.
GroupDAV è una variante di WebDAV che permette mediante funzionalità client/server lo scambio di oggetti come calendari, rubriche telefoniche e pagine Web.