No es que muchos protocolos de Internet estén basados en texto. De hecho, si tuviera que adivinar, diría que los protocolos basados en texto son minoritarios. Para casi todos los protocolos basados en texto que ve en Internet, existen al menos dos protocolos binarios que la gente ha inventado para enviar los mismos datos o datos similares.
Pero es cierto que la mayoría del tráfico de Internet utiliza protocolos basados en texto. Este hecho es interesante si supone que hay muchos más protocolos binarios que el texto pero mucho más tráfico de texto que el binario. Significa que la mayoría de los protocolos exitosos en Internet están basados en texto. Excepto por un pequeño número de aplicaciones (bittorrent es un ejemplo), los protocolos binarios tienden a morir.
En los primeros días de Internet, las corporaciones tendían a diseñar y usar protocolos binarios (MSN, por ejemplo, no el sitio web de MSN de hoy, la red propietaria original de MicroSoft que se suponía que reemplazaría a HTTP), mientras que los militares, los institutos de investigación y los académicos tendían a diseñar y usar un protocolo basado en texto. Parte de la razón fue que construir y depurar protocolos binarios era difícil y las corporaciones pueden permitirse el lujo de pagarle a la gente para que lo haga mientras que los militares, investigadores y académicos lo hacían en su tiempo libre sin pagar (la mayoría de las personas que desarrollaron Internet tenían trabajos no relacionados con el desarrollo de internet).
Cuando escribe código los fines de semana como un pasatiempo y no se le paga por hacer lo que hace, tiende a elegir la solución más simple: el texto. Entonces, los protocolos basados en texto fueron utilizados por más personas que los protocolos binarios.
Pero esa no es la historia completa. Construir una red es difícil. Realmente difícil. Hoy estamos tan acostumbrados a Internet que no nos damos cuenta del milagro de la ingeniería. Casi todos los aspectos de Internet evolucionaron a partir de una corrección de errores. Por ejemplo, usamos la dirección IP en lugar de la dirección MAC porque nos permite construir enrutadores con solo kilobytes (o estos megabytes) en lugar de terabytes de RAM para la tabla de enrutamiento. Mientras más y más problemas intentamos resolver, más preferimos los protocolos basados en texto para depurarlos. Una vez que tuvimos suficiente experiencia en el desarrollo de protocolos de red de bajo nivel, cuando llegó el momento de desarrollar protocolos de aplicación, la mayoría de los programadores e ingenieros experimentados solían preferir los protocolos de texto.
Por experiencia personal, trabajé para una empresa que construye enrutadores y también para una empresa que construye equipos de telemetría, por lo que tengo mucha experiencia trabajando con protocolos binarios como TCP / IP, ARP, IEC60870-5- 101 y DNP3. También he trabajado con protocolos de texto como HTTP, POP3 y NMEA. También he trabajado con formatos de datos binarios como ASN.1 y formatos de datos de texto como JSON y XML. Si tuviera que elegir, elegiría texto casi siempre. La única vez que elegiría el binario es si el protocolo es realmente de bajo nivel (entonces implementaría lo suficiente para poder colocar un protocolo basado en texto en la parte superior) o si los datos son naturalmente binarios (como archivos de audio) .