Protocoles de couche d'application
Les processus réseau communiquent entre eux en envoyant des messages dans des sockets. Mais comment ces messages sont-ils structurés ? Quelle est la signification des différents champs dans les messages ? Quand les processus envoient-ils les messages ? Ces questions nous amènent dans le domaine des protocoles de la couche application.
Un protocole de couche application définit comment les processus d'une application, s'exécutant sur différents systèmes d'extrémité, se transmettent des messages. En particulier, un protocole de couche application définit :
- Les types de messages échangés, par exemple, les messages de demande et les messages de réponse
- La syntaxe des différents types de messages, tels que les champs du message et la façon dont les champs sont délimités
- La sémantique des champs, c'est-à-dire la signification des informations dans les champs.
- Règles pour déterminer quand et comment un processus envoie des messages et répond aux messages
Certains protocoles de la couche application sont spécifiés dans les RFC et sont donc dans le domaine public. Par exemple, le protocole de couche application du Web, HTTP (HyperText Transfer Protocol [RFC 7230]), est disponible en tant que RFC. Si un développeur de navigateur suit les règles du HTTP RFC, le navigateur pourra récupérer des pages Web à partir de n'importe quel serveur Web qui a également suivi les règles du HTTP RFC. De nombreux autres protocoles de couche application sont propriétaires et intentionnellement non disponibles dans le domaine public. Par exemple, Skype utilise des protocoles de couche application propriétaires.