Não é que muitos protocolos da Internet sejam baseados em texto. De fato, se eu adivinhasse, diria que os protocolos baseados em texto são minoria. Para quase todos os protocolos baseados em texto que você vê na Internet, existem pelo menos dois protocolos binários que as pessoas inventaram para enviar dados iguais ou semelhantes.
Mas é verdade que a maioria do tráfego da Internet usa protocolos baseados em texto. Esse fato é interessante se você assumir que há muito mais protocolos binários que texto, mas muito mais tráfego de texto que binário. Isso significa que a maioria dos protocolos de sucesso na Internet são baseados em texto. Exceto por um pequeno número de aplicações (o exemplo bittorrent), os protocolos binários tendem a morrer.
Nos primórdios da Internet, as empresas tendiam a projetar e usar o protocolo binário (MSN, por exemplo, não o site do MSN de hoje, a MicroSoft Network proprietária original que deveria substituir o HTTP) enquanto os militares, institutos de pesquisa e acadêmicos tendiam a projetar e usar protocolo baseado em texto. Parte do motivo foi que a construção e a depuração de protocolos binários eram difíceis e as empresas podem pagar as pessoas para fazê-lo enquanto militares, pesquisadores e acadêmicos o faziam em seu tempo livre sem pagamento (a maioria das pessoas que desenvolveu a Internet tinha empregos não relacionados ao desenvolvimento da internet).
Quando você escreve código nos fins de semana como hobby e não é pago por fazer o que faz, costuma escolher a solução mais simples - texto. Portanto, protocolos baseados em texto foram usados por mais pessoas do que protocolos binários.
Mas essa não é a história completa. Construir uma rede é difícil. Muito difícil. Hoje estamos tão acostumados à internet que não percebemos completamente o milagre da engenharia. Quase todos os aspectos da Internet evoluíram a partir de uma correção de bug. Por exemplo, usamos o endereço IP em vez do endereço MAC, porque nos permite construir roteadores com apenas kilobytes (ou megabytes atuais) em vez de terabytes de RAM para a tabela de roteamento. Quanto mais problemas tentamos resolver, mais tendemos a preferir protocolos baseados em texto para depurá-los. Quando tivemos experiência suficiente no desenvolvimento de protocolos de rede de baixo nível, quando chegou a hora de desenvolver protocolos de aplicativos, a maioria dos programadores e engenheiros experientes tendia a preferir protocolos de texto.
Por experiência pessoal, trabalhei para uma empresa construindo roteadores e também para uma empresa construindo equipamentos de telemetria, por isso tenho muita experiência trabalhando com protocolos binários como TCP / IP, ARP, IEC60870-5- 101 e DNP3. Também trabalhei com protocolos de texto como HTTP, POP3 e NMEA. Também trabalhei com formatos de dados binários, como ASN.1, e formatos de dados de texto, como JSON e XML. Se eu escolhesse, escolheria o texto quase sempre. A única vez em que eu escolheria o binário é se o protocolo é realmente de nível baixo (então eu implementaria apenas o suficiente para que eu possa plonk um protocolo baseado em texto por cima ou por cima) ou se os dados são naturalmente binários (como arquivos de áudio) .