J'ai trouvé par hasard cette ancienne question et j'ai décidé d'y ajouter mon opinion, au moins pour la vérifier.
La plupart des réponses expliquent en quoi les protocoles textuels et binaires sont différents du point de vue de la machine. Du point de vue humain, un protocole textuel est un protocole lisible/éditable par l'homme (un homme peut lire et écrire des paquets sans décodeur/encodeur). Cela présente au moins deux avantages : un débogage et une maintenance simplifiés de l'implémentation du protocole texte et la possibilité de le tester à l'aide d'outils simples et universels tels que telnet.
Autre petit avantage : les protocoles textuels sont considérés comme plus fiables, car (je suppose) il est impossible ou simplement difficile d'utiliser une faille dans l'implémentation du protocole pour exécuter un code malveillant, par exemple en exploitant un débordement de mémoire tampon. Il s'agit d'un petit avantage, car les protocoles binaires peuvent obtenir le même résultat grâce à l'encodage base64.
Les protocoles textuels présentent également certains inconvénients :
- Les protocoles textuels sont généralement plus difficiles à mettre en œuvre. que les protocoles binaires, en raison de l'analyseur syntaxique.
- Les protocoles binaires consomment moins de bande passante
J'essaie de compiler quelques recommandations finales à partir de cela :
Concevoir un protocole comme un texte quand :
- Il s'agit d'un protocole de contrôle qui peut être traité comme une série de commandes ou d'instructions. demandes/réponses ((interactif). Du point de vue de la mise en œuvre, il peut être implémenté comme une machine à états finis. Prenons l'exemple de la diffusion multimédia en continu : RTSP - un protocole de contrôle, qui utilise une machine à états finis et consiste en des demandes/réponses - est un protocole textuel, alors que RTP est un protocole binaire parce qu'il transporte principalement des données binaires naturelles, comme les flux multimédias.
- Il est destiné à une utilisation massive : par un grand nombre de personnes, d'implémentations ou d'applications ; il est donc très important de simplifier le débogage et la maintenance.
.