Aller au contenu principal

1. Introduction

Ce document décrit une extension du protocole HTTP/1.1 qui permet aux clients d'effectuer des opérations de création de contenu Web à distance. Cette extension fournit un ensemble cohérent de méthodes, d'en-têtes, de formats de corps d'entité de requête et de formats de corps d'entité de réponse qui fournissent des opérations pour :

Propriétés (Properties) : La capacité de créer, supprimer et interroger des informations sur les pages Web, telles que leurs auteurs, dates de création, etc.

Collections : La capacité de créer des ensembles de documents et de récupérer une liste d'appartenance hiérarchique (comme une liste de répertoire dans un système de fichiers).

Verrouillage (Locking) : La capacité d'empêcher plusieurs personnes de travailler sur un document en même temps. Cela empêche le « problème de mise à jour perdue (Lost Update Problem) », dans lequel les modifications sont perdues lorsque d'abord un auteur, puis un autre, écrit des modifications sans fusionner les modifications de l'autre auteur.

Opérations d'espace de noms (Namespace Operations) : La capacité d'instruire le serveur de copier et déplacer des ressources Web, opérations qui modifient le mappage des URL vers les ressources.

Les exigences et la justification de ces opérations sont décrites dans un document complémentaire, « Exigences pour un protocole de création et de gestion de versions distribuées pour le World Wide Web (Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web) » [RFC2291].

Ce document ne spécifie pas les opérations de gestion de versions suggérées par [RFC2291]. Ce travail a été effectué dans un document séparé, « Extensions de gestion de versions pour WebDAV (Versioning Extensions to WebDAV) » [RFC3253].

Les sections ci-dessous fournissent une introduction détaillée aux diverses abstractions WebDAV : propriétés de ressources (Resource Properties, Section 4), collections de ressources (Collections of Resources, Section 5), verrous (Locks, Section 6) en général, et verrous d'écriture (Write Locks, Section 7) spécifiquement.

Ces abstractions sont manipulées par les méthodes HTTP spécifiques à WebDAV (Section 9) et les en-têtes HTTP supplémentaires (Section 10) utilisés avec les méthodes WebDAV. Les considérations générales pour la gestion des requêtes et réponses HTTP dans WebDAV se trouvent dans la Section 8.

Bien que les codes d'état fournis par HTTP/1.1 soient suffisants pour décrire la plupart des conditions d'erreur rencontrées par les méthodes WebDAV, il existe certaines erreurs qui ne s'intègrent pas parfaitement dans les catégories existantes. Cette spécification définit des codes d'état supplémentaires développés pour les méthodes WebDAV (Section 11) et décrit les codes d'état HTTP existants (Section 12) tels qu'utilisés dans WebDAV. Étant donné que certaines méthodes WebDAV peuvent opérer sur de nombreuses ressources, la réponse multi-état (Multi-Status Response, Section 13) a été introduite pour retourner des informations d'état pour plusieurs ressources. Enfin, cette version de WebDAV introduit des éléments XML de précondition et de postcondition (Precondition/Postcondition, Section 16) dans les corps de réponse d'erreur.

WebDAV utilise XML ([REC-XML]) pour les noms de propriétés et certaines valeurs, et utilise également XML pour marshaller des requêtes et réponses complexes. Cette spécification contient des définitions DTD et textuelles de toutes les propriétés (Section 15) et de tous les autres éléments XML (Section 14) utilisés dans le marshalling. WebDAV inclut quelques règles spéciales sur l'extension du marshalling XML de WebDAV de manière rétrocompatible (Section 17).

Pour finir la spécification, il y a des sections sur ce que signifie pour une ressource d'être conforme à cette spécification (Section 18), sur le support de l'internationalisation (Section 19), et sur la sécurité (Section 20).