Aller au contenu principal

3. Modèle de protocole (Protocol Model)

Le modèle général adopté par ce protocole est celui de clients effectuant des opérations de protocole sur des serveurs. Dans ce modèle, un client transmet une requête de protocole décrivant l'opération à effectuer à un serveur. Le serveur est alors responsable de l'exécution des opérations nécessaires dans l'annuaire. À l'achèvement d'une opération, le serveur renvoie généralement une réponse contenant les données appropriées au client demandeur.

Les opérations de protocole sont généralement indépendantes les unes des autres. Chaque opération est traitée comme une action atomique, laissant l'annuaire dans un état cohérent.

Bien que les serveurs soient tenus (required) de renvoyer des réponses chaque fois que de telles réponses sont définies dans le protocole, il n'y a aucune exigence de comportement synchrone de la part des clients ou des serveurs. Les requêtes et réponses pour plusieurs opérations peuvent généralement être échangées entre un client et un serveur dans n'importe quel ordre. Si nécessaire, le comportement synchrone peut être contrôlé par les applications clientes.

Les opérations de protocole de base définies dans ce document peuvent être mappées sur un sous-ensemble du service abstrait d'annuaire X.500 (1993) [X.511]. Cependant, il n'y a pas de mappage un à un entre les opérations LDAP et les opérations du protocole d'accès aux annuaires X.500 (Directory Access Protocol, DAP). Les implémentations de serveur agissant comme passerelle vers des annuaires X.500 peuvent devoir effectuer plusieurs requêtes DAP pour servir une seule requête LDAP.

3.1. Operation and LDAP Message Layer Relationship (Relation entre les opérations et la couche de message LDAP)

Les opérations de protocole sont échangées au niveau de la couche de message LDAP. Lorsque la connexion de transport est fermée, toutes les opérations non terminées au niveau de la couche de message LDAP sont abandonnées (lorsque cela est possible) ou terminées sans transmission de la réponse (lorsqu'il n'est pas possible de les abandonner). De plus, lorsque la connexion de transport est fermée, le client ne doit pas (MUST NOT) supposer que des opérations de mise à jour non terminées ont réussi ou échoué.