Aller au contenu principal

18. DAV Compliance Classes (Classes de conformité DAV)

18. DAV Compliance Classes (Classes de conformité DAV)

Une ressource conforme à DAV peut annoncer plusieurs classes de conformité. Un client peut découvrir les classes de conformité d'une ressource en exécutant OPTIONS sur la ressource et en examinant l'en-tête "DAV" qui est retourné. Notez en particulier que ce sont les ressources, plutôt que les serveurs, dont on parle comme étant conformes. C'est parce que théoriquement certaines ressources sur un serveur pourraient prendre en charge différents ensembles de fonctionnalités. Par exemple, un serveur pourrait avoir un sous-référentiel où une fonctionnalité avancée comme le versioning est prise en charge, même si cette fonctionnalité n'est pas prise en charge sur tous les sous-référentiels.

Étant donné que ce document décrit des extensions au protocole HTTP/1.1, au minimum toutes les ressources, clients et proxies conformes à DAV DOIVENT être conformes à [RFC2616].

Une ressource conforme à la classe 2 ou à la classe 3 doit également être conforme à la classe 1.

18.1. Class 1 (Classe 1)

Une ressource conforme à la classe 1 DOIT répondre à toutes les exigences "DOIT" dans toutes les sections de ce document.

Les ressources conformes à la classe 1 DOIVENT retourner, au minimum, la valeur "1" dans l'en-tête DAV sur toutes les réponses à la méthode OPTIONS.

18.2. Class 2 (Classe 2)

Une ressource conforme à la classe 2 DOIT répondre à toutes les exigences de la classe 1 et prendre en charge la méthode LOCK, la propriété DAV:supportedlock, la propriété DAV:lockdiscovery, l'en-tête de réponse Time-Out et l'en-tête de requête Lock-Token. Une ressource conforme à la classe 2 DEVRAIT également prendre en charge l'en-tête de requête Timeout et l'élément XML 'owner'.

Les ressources conformes à la classe 2 DOIVENT retourner, au minimum, les valeurs "1" et "2" dans l'en-tête DAV sur toutes les réponses à la méthode OPTIONS.

18.3. Class 3 (Classe 3)

Une ressource peut explicitement annoncer son support pour les révisions apportées à [RFC2518] dans ce document. La classe 1 DOIT également être prise en charge. La classe 2 PEUT être prise en charge. Annoncer le support de la classe 3 en plus des classes 1 et 2 signifie que le serveur prend en charge toutes les exigences de cette spécification. Annoncer le support des classes 3 et 1, mais pas de la classe 2, signifie que le serveur prend en charge toutes les exigences de cette spécification, sauf éventuellement celles qui impliquent le support des verrous.

Exemple:

DAV: 1, 3