Passa al contenuto principale

18. DAV Compliance Classes (Classi di conformità DAV)

18. DAV Compliance Classes (Classi di conformità DAV)

Una risorsa conforme a DAV può pubblicizzare diverse classi di conformità. Un client può scoprire le classi di conformità di una risorsa eseguendo OPTIONS sulla risorsa ed esaminando l'intestazione "DAV" che viene restituita. Si noti in particolare che sono le risorse, piuttosto che i server, di cui si parla come conformi. Questo perché teoricamente alcune risorse su un server potrebbero supportare diversi set di funzionalità. Ad esempio, un server potrebbe avere un sub-repository dove è supportata una funzionalità avanzata come il versioning, anche se tale funzionalità non è supportata su tutti i sub-repository.

Poiché questo documento descrive estensioni al protocollo HTTP/1.1, minimamente tutte le risorse, i client e i proxy conformi a DAV DEVONO essere conformi a [RFC2616].

Una risorsa conforme alla classe 2 o alla classe 3 deve essere anche conforme alla classe 1.

18.1. Class 1 (Classe 1)

Una risorsa conforme alla classe 1 DEVE soddisfare tutti i requisiti "DEVE" in tutte le sezioni di questo documento.

Le risorse conformi alla classe 1 DEVONO restituire, come minimo, il valore "1" nell'intestazione DAV su tutte le risposte al metodo OPTIONS.

18.2. Class 2 (Classe 2)

Una risorsa conforme alla classe 2 DEVE soddisfare tutti i requisiti della classe 1 e supportare il metodo LOCK, la proprietà DAV:supportedlock, la proprietà DAV:lockdiscovery, l'intestazione di risposta Time-Out e l'intestazione di richiesta Lock-Token. Una risorsa conforme alla classe 2 DOVREBBE anche supportare l'intestazione di richiesta Timeout e l'elemento XML 'owner'.

Le risorse conformi alla classe 2 DEVONO restituire, come minimo, i valori "1" e "2" nell'intestazione DAV su tutte le risposte al metodo OPTIONS.

18.3. Class 3 (Classe 3)

Una risorsa può esplicitamente pubblicizzare il suo supporto per le revisioni a [RFC2518] effettuate in questo documento. La classe 1 DEVE essere supportata anche. La classe 2 PUÒ essere supportata. Pubblicizzare il supporto della classe 3 in aggiunta alle classi 1 e 2 significa che il server supporta tutti i requisiti in questa specifica. Pubblicizzare il supporto della classe 3 e della classe 1, ma non della classe 2, significa che il server supporta tutti i requisiti in questa specifica tranne possibilmente quelli che coinvolgono il supporto del blocco.

Esempio:

DAV: 1, 3