18. DAV Compliance Classes (DAV-Compliance-Klassen)
18. DAV Compliance Classes (DAV-Compliance-Klassen)
Eine DAV-konforme Ressource kann mehrere Compliance-Klassen anzeigen. Ein Client kann die Compliance-Klassen einer Ressource ermitteln, indem er OPTIONS auf der Ressource ausführt und den zurückgegebenen "DAV"-Header untersucht. Beachten Sie insbesondere, dass von Ressourcen und nicht von Servern gesprochen wird, die konform sind. Das liegt daran, dass theoretisch einige Ressourcen auf einem Server unterschiedliche Funktionssets unterstützen könnten. Beispielsweise könnte ein Server ein Sub-Repository haben, in dem eine erweiterte Funktion wie Versionierung unterstützt wird, selbst wenn diese Funktion nicht auf allen Sub-Repositories unterstützt wird.
Da dieses Dokument Erweiterungen des HTTP/1.1-Protokolls beschreibt, MÜSSEN mindestens alle DAV-konformen Ressourcen, Clients und Proxies konform zu [RFC2616] sein.
Eine Ressource, die Klasse 2 oder Klasse 3 konform ist, muss auch Klasse 1 konform sein.
18.1. Class 1 (Klasse 1)
Eine Klasse-1-konforme Ressource MUSS alle "MUSS"-Anforderungen in allen Abschnitten dieses Dokuments erfüllen.
Klasse-1-konforme Ressourcen MÜSSEN mindestens den Wert "1" im DAV-Header bei allen Antworten auf die OPTIONS-Methode zurückgeben.
18.2. Class 2 (Klasse 2)
Eine Klasse-2-konforme Ressource MUSS alle Klasse-1-Anforderungen erfüllen und die LOCK-Methode, die DAV:supportedlock-Eigenschaft, die DAV:lockdiscovery-Eigenschaft, den Time-Out-Antwort-Header und den Lock-Token-Anfrage-Header unterstützen. Eine Klasse-2-konforme Ressource SOLLTE auch den Timeout-Anfrage-Header und das 'owner'-XML-Element unterstützen.
Klasse-2-konforme Ressourcen MÜSSEN mindestens die Werte "1" und "2" im DAV-Header bei allen Antworten auf die OPTIONS-Methode zurückgeben.
18.3. Class 3 (Klasse 3)
Eine Ressource kann explizit ihre Unterstützung für die in diesem Dokument vorgenommenen Überarbeitungen von [RFC2518] ankündigen. Klasse 1 MUSS ebenfalls unterstützt werden. Klasse 2 KANN unterstützt werden. Das Ankündigen der Klasse-3-Unterstützung zusätzlich zu Klasse 1 und 2 bedeutet, dass der Server alle Anforderungen in dieser Spezifikation unterstützt. Das Ankündigen von Klasse-3- und Klasse-1-Unterstützung, aber nicht Klasse 2, bedeutet, dass der Server alle Anforderungen in dieser Spezifikation unterstützt, mit Ausnahme möglicherweise derjenigen, die Sperrunterstützung betreffen.
Beispiel:
DAV: 1, 3