Es ist nicht so, dass viele Internetprotokolle textbasiert sind. In der Tat, wenn ich raten würde, würde ich sagen, dass textbasierte Protokolle in der Minderheit sind. Für fast jedes textbasierte Protokoll, das Sie im Internet sehen, gibt es mindestens zwei Binärprotokolle, die erfunden wurden, um dieselben oder ähnliche Daten zu senden.
Aber es ist wahr , dass die Mehrheit der Internet - Verkehr Verwendung textbasierte Protokolle. Diese Tatsache ist interessant, wenn Sie davon ausgehen, dass es viel mehr Binärprotokolle als Text, aber viel mehr Textverkehr als Binärprotokolle gibt. Dies bedeutet, dass die meisten erfolgreichen Protokolle im Internet textbasiert sind. Bis auf eine kleine Anzahl von Anwendungen (Bittorrent ist ein Beispiel) neigen Binärprotokolle zum Absterben.
In den Anfängen des Internets tendierten Unternehmen dazu, Binärprotokolle zu entwerfen und zu verwenden (MSN zum Beispiel, nicht die heutige MSN-Website, das ursprüngliche proprietäre MicroSoft-Netzwerk, das HTTP ersetzen sollte), während Militär, Forschungsinstitute und Akademiker dies taten Entwerfen und Verwenden von textbasierten Protokollen. Ein Grund dafür war, dass das Erstellen und Debuggen von Binärprotokollen schwierig war und Unternehmen es sich leisten können, die Leute dafür zu bezahlen, während das Militär, Forscher und Akademiker es in ihrer Freizeit für kein Gehalt taten (die meisten Leute, die das Internet entwickelten, hatten es getan) Arbeitsplätze, die nicht mit der Entwicklung des Internets zusammenhängen).
Wenn Sie als Hobby an Wochenenden Code schreiben und nicht für das bezahlt werden, was Sie tun, entscheiden Sie sich für die einfachere Lösung - den Text. So wurden textbasierte Protokolle von mehr Menschen als binäre Protokolle verwendet.
Aber das ist nicht die ganze Geschichte. Ein Netzwerk aufzubauen ist schwer. Sehr hart. Wir sind heute so an das Internet gewöhnt, dass wir nicht genau erkennen, was für ein Wunder der Technik es ist. Fast jeder Aspekt des Internets ist aus einer Fehlerbehebung hervorgegangen. Beispielsweise verwenden wir die IP-Adresse anstelle der MAC-Adresse, weil wir damit Router mit nur Kilobyte (oder heutzutage Megabyte) anstelle von Terabyte RAM für die Routingtabelle erstellen können. Je mehr Probleme wir zu lösen versuchten, desto mehr bevorzugen wir textbasierte Protokolle, um sie zu debuggen. Nachdem wir genug Erfahrung mit der Entwicklung von Netzwerkprotokollen auf niedriger Ebene hatten, bevorzugten die meisten erfahrenen Programmierer und Ingenieure bei der Entwicklung von Anwendungsprotokollen eher Textprotokolle.
Aus eigener Erfahrung habe ich für einen Router eines Unternehmens und für einen Telemetrie-Hersteller gearbeitet. Daher habe ich viel Erfahrung mit binären Protokollen wie TCP / IP, ARP, IEC60870-5- 101 und DNP3. Ich habe auch mit Textprotokollen wie HTTP, POP3 und NMEA gearbeitet. Ich habe auch mit binären Datenformaten wie ASN.1 und Textdatenformaten wie JSON und XML gearbeitet. Wenn ich wählen würde, würde ich fast jedes Mal Text wählen. Das einzige Mal, dass ich binär wählen würde, ist, wenn das Protokoll wirklich niedrig ist (dann würde ich gerade genug implementieren, damit ich ein textbasiertes Protokoll darüber oder darüber schreiben kann), oder die Daten sind natürlich binär (wie Audiodateien). .