Ce n'est pas que beaucoup de protocoles Internet sont basés sur du texte. En fait, si je devais deviner, je dirais que les protocoles basés sur du texte sont minoritaires. Pour presque tous les protocoles textuels que vous voyez sur Internet, il existe au moins deux protocoles binaires que les gens ont inventés pour envoyer des données identiques ou similaires.
Mais il est vrai que la majorité du trafic Internet utilise des protocoles à base de texte. Ce fait est intéressant si vous supposez qu'il existe beaucoup plus de protocoles binaires que de texte mais beaucoup plus de trafic de texte que de binaire. Cela signifie que la plupart des protocoles réussis sur Internet sont basés sur du texte. À l'exception d'un petit nombre d'applications (bittorrent en est un exemple), les protocoles binaires ont tendance à mourir.
Dans les premiers temps d'Internet, les entreprises avaient tendance à concevoir et à utiliser un protocole binaire (MSN par exemple, et non le site Web de MSN d'aujourd'hui, le réseau propriétaire exclusif MicroSoft, censé remplacer HTTP), tandis que l'armée, les instituts de recherche et les universitaires avaient tendance à: concevoir et utiliser un protocole textuel. Une partie de la raison était qu’il était difficile de créer et de déboguer des protocoles binaires et que les entreprises pouvaient se permettre de payer les gens pour le faire, tandis que l’armée, les chercheurs et les universitaires le faisaient pendant leurs temps libres et sans salaire (la plupart des développeurs d’Internet avaient emplois non liés au développement d’Internet).
Quand vous écrivez du code la fin de semaine comme passe-temps et que vous n'êtes pas payé pour faire ce que vous faites, vous avez tendance à choisir la solution la plus simple: le texte. Les protocoles basés sur du texte ont donc été utilisés par plus de personnes que les protocoles binaires.
Mais ce n'est pas l'histoire complète. Construire un réseau est difficile. Vraiment dur. Nous sommes tellement habitués à Internet aujourd'hui que nous ne réalisons pas à quel point c'est un miracle de l'ingénierie. Presque tous les aspects d'Internet ont évolué à partir d'un correctif. Par exemple, nous utilisons l'adresse IP au lieu de l'adresse MAC, car elle nous permet de créer des routeurs avec seulement des kilo-octets (ou des mégaoctets de nos jours) au lieu de téraoctets de RAM pour la table de routage. Plus nous essayons de résoudre les problèmes, plus nous avons tendance à préférer les protocoles texte pour les déboguer. Une fois que nous avions suffisamment d'expérience dans le développement de protocoles réseau de bas niveau, lorsque le moment est venu de développer des protocoles d'application, la plupart des programmeurs et ingénieurs expérimentés ont eu tendance à préférer les protocoles de texte.
De par mon expérience personnelle, j'ai travaillé pour une entreprise de construction de routeurs et pour une entreprise de construction d'équipements de télémétrie. J'ai donc beaucoup d'expérience dans l'utilisation de protocoles binaires tels que TCP / IP, ARP, IEC60870-5- 101 et DNP3. J'ai également travaillé avec des protocoles de texte tels que HTTP, POP3 et NMEA. J'ai également travaillé avec des formats de données binaires tels que ASN.1 et des formats de données texte tels que JSON et XML. Si je devais choisir, je choisirais le texte presque à chaque fois. La seule fois où je choisirais le binaire, c’est si le protocole est vraiment de bas niveau (alors j’en implémente juste assez pour pouvoir utiliser un protocole basé sur du texte par dessus) ou si les données sont naturellement binaires (comme des fichiers audio) .