Passa al contenuto principale

1. Introduzione (Introduction)

Questo documento descrive un'estensione del protocollo HTTP/1.1 che consente ai client di eseguire operazioni di authoring di contenuti Web remoti. Questa estensione fornisce un insieme coerente di metodi, intestazioni, formati del corpo dell'entità di richiesta e formati del corpo dell'entità di risposta che forniscono operazioni per:

Proprietà (Properties): La capacità di creare, rimuovere e interrogare informazioni sulle pagine Web, come i loro autori, date di creazione, ecc.

Raccolte (Collections): La capacità di creare insiemi di documenti e di recuperare un elenco di appartenenza gerarchico (come un elenco di directory in un file system).

Blocco (Locking): La capacità di impedire a più persone di lavorare contemporaneamente su un documento. Questo previene il "problema dell'aggiornamento perso (Lost Update Problem)", in cui le modifiche vengono perse quando prima un autore, poi un altro, scrive modifiche senza fondere le modifiche dell'altro autore.

Operazioni di spazio dei nomi (Namespace Operations): La capacità di istruire il server a copiare e spostare risorse Web, operazioni che modificano la mappatura dagli URL alle risorse.

I requisiti e la motivazione per queste operazioni sono descritti in un documento complementare, "Requisiti per un protocollo di authoring e versionamento distribuito per il World Wide Web (Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web)" [RFC2291].

Questo documento non specifica le operazioni di versionamento suggerite da [RFC2291]. Quel lavoro è stato fatto in un documento separato, "Estensioni di versionamento per WebDAV (Versioning Extensions to WebDAV)" [RFC3253].

Le sezioni seguenti forniscono un'introduzione dettagliata alle varie astrazioni di WebDAV: proprietà delle risorse (Resource Properties, Sezione 4), raccolte di risorse (Collections of Resources, Sezione 5), blocchi (Locks, Sezione 6) in generale, e blocchi di scrittura (Write Locks, Sezione 7) in particolare.

Queste astrazioni sono manipolate dai metodi HTTP specifici di WebDAV (Sezione 9) e dalle intestazioni HTTP aggiuntive (Sezione 10) utilizzate con i metodi WebDAV. Le considerazioni generali per la gestione delle richieste e risposte HTTP in WebDAV si trovano nella Sezione 8.

Sebbene i codici di stato forniti da HTTP/1.1 siano sufficienti per descrivere la maggior parte delle condizioni di errore incontrate dai metodi WebDAV, ci sono alcuni errori che non rientrano perfettamente nelle categorie esistenti. Questa specifica definisce codici di stato aggiuntivi sviluppati per i metodi WebDAV (Sezione 11) e descrive i codici di stato HTTP esistenti (Sezione 12) come utilizzati in WebDAV. Poiché alcuni metodi WebDAV possono operare su molte risorse, la risposta multi-stato (Multi-Status Response, Sezione 13) è stata introdotta per restituire informazioni di stato per più risorse. Infine, questa versione di WebDAV introduce elementi XML di precondizione e postcondizione (Precondition/Postcondition, Sezione 16) nei corpi di risposta di errore.

WebDAV utilizza XML ([REC-XML]) per i nomi delle proprietà e alcuni valori, e utilizza anche XML per effettuare il marshalling di richieste e risposte complesse. Questa specifica contiene definizioni DTD e testuali di tutte le proprietà (Sezione 15) e di tutti gli altri elementi XML (Sezione 14) utilizzati nel marshalling. WebDAV include alcune regole speciali sull'estensione del marshalling XML di WebDAV in modi retrocompatibili (Sezione 17).

A completamento della specifica ci sono sezioni su cosa significa per una risorsa essere conforme a questa specifica (Sezione 18), sul supporto dell'internazionalizzazione (Sezione 19) e sulla sicurezza (Sezione 20).