Les logiciels clients ont souvent besoin
d'accéder à de l'information de configuration, qui est typiquement
stockée en local. Ce protocole permet de la mettre sur un serveur
distant.
Imaginons un client SIP qui veut connaitre
les préférences de son utilisateur humain (par exemple les heures où
il peut sonner). Traditionnellement, au démarrage, ledit client lit un
fichier local (sur Unix, ce serait un fichier
~/.lelogicielrc ou équivalent). L'inconvénient de
cette méthode est que l'humain ne peut pas facilement travailler sur
plusieurs machines, sauf à prendre des précautions particulières pour
s'assurer que les fichiers de configuration soient identiques
partout.
Des protocoles ont donc été développés pour permettre l'accès à
distance à la configuration, permettant ainsi sa centralisation sur un
serveur. Le plus connu de ces protocoles est
ACAP (décrit dans le ), qui
n'a jamais été un grand succès.
Notre RFC représente donc une nouvelle tentative, utilisant
XML cette fois, et avec un nom qui rend hommage
à ACAP.
XCAP permet de distribuer de l'information spécifiée dans un
schéma XML. Le RFC utilise des exemples tirés
du , qui normalise un moyen pour des utilisateurs
SIP de surveiller une ressource. Mais bien
d'autres schémas seront possibles.
L'accès à une partie de la configuration se fait avec un langage
qui est un sous-ensemble de XPath.
Notre protocole est bâti sur HTTP. XCAP permet davantage que l'accès à la configuration, il autorise aussi la
mise à jour de celle-ci, en suivant l'architecture
REST (GET pour lire la
configuration, DELETE pour supprimer une
ressource, etc). C'est donc aussi un protocole d'avitaillement (provisioning).