| Terme | Définition |
|---|---|
| Protocole | Codification des échanges entre deux parties communicantes (client/serveur) qui définit la structure, le contenu et l'ordonnancement des communications. |
| Client/Serveur (C/S) | Architecture de communication où un programme client demande des services à un programme serveur. |
| Protocole sous-jacent | Protocole sur lequel un autre protocole s'appuie pour fonctionner, généralement pour gérer la transmission physique des données. |
| Couche transport | Niveau de protocole responsable de l'échange de données entre les processus. Exemples : TCP, UDP. |
| TCP, UDP | Exemples de protocoles de la couche transport qui gèrent l'échange de données. |
| Protocole « applicatif » | Protocole basé sur la couche transport, utilisé pour des applications spécifiques. Exemples : RPC, RMI, FTP, HTTP. |
| Requête | Une demande formulée par un client à un serveur, associée à un service spécifique que le serveur propose. |
| Identifiant de requête | Un identifiant unique (par ex., un entier ou une chaîne de caractères) qui doit commencer une communication pour spécifier le service demandé au serveur. |
| Format texte | Une méthode de structuration des communications où les données sont représentées sous forme de texte lisible. Considéré comme le plus facile à mettre en œuvre. |
| Format binaire | Une méthode de structuration des communications où les données sont représentées sous forme binaire, en utilisant des types de données classiques (ex: octet, int). Considéré comme plus lourd et compliqué. |
Un protocole de communication est formellement défini comme la "codification des échanges entre 2 parties communicantes (par ex, client et serveur) en terme de structure, contenu et ordonnancement dans le temps." Il s'agit d'un ensemble de règles qui gouvernent la syntaxe, la sémantique et la synchronisation des communications.
Les protocoles sont généralement organisés en couches. Un protocole applicatif (par exemple, HTTP, FTP, RPC) s'appuie sur les fonctionnalités d'un protocole de couche inférieure, typiquement un protocole de transport comme TCP ou UDP, qui gère l'envoi et la réception physiques des données.
La principale complexité dans le développement d'une application client/serveur ne réside pas dans l'utilisation du protocole sous-jacent, mais plutôt dans la définition du protocole de l'application elle-même et son implémentation dans le langage de programmation choisi.
La création d'un protocole doit respecter plusieurs principes directeurs pour garantir sa robustesse et sa clarté :
La définition d'un protocole de communication suit un processus structuré en trois étapes essentielles.
La première étape consiste à décrire de manière fonctionnelle l'ensemble des requêtes que le client peut adresser au serveur. Cela revient à lister les services ou les actions que le serveur est capable d'exécuter.