İnternet protokollerinin çoğu metin tabanlı değildir. Aslında, tahmin edersem, metin tabanlı protokollerin azınlıkta olduğunu söyleyebilirim. İnternette gördüğünüz hemen hemen her metin tabanlı protokol için, insanların aynı veya benzer verileri göndermek için icat ettikleri en az iki ikili protokol vardır.
Ancak, internet trafiğinin çoğunun metin tabanlı protokoller kullandığı doğrudur . Bu gerçek, metinden çok daha fazla ikili protokol, ikiliden daha fazla metin trafiği olduğunu varsayarsanız ilginçtir. İnternetteki başarılı protokollerin çoğunun metin tabanlı olduğu anlamına gelir . Az sayıda uygulama dışında (bittorrent bir örnektir) ikili protokoller ölme eğilimindedir.
İnternetin ilk günlerinde, şirketler askeri protokoller, araştırma enstitüleri ve akademisyenler, ikili protokolü (örneğin, bugünün MSN web sitesi değil, HTTP'nin yerine geçmesi beklenen orijinal MicroSoft Ağı) kullandılar. metin tabanlı protokol tasarlar ve kullanır. Bunun bir nedeni, ikili protokolleri oluşturmak ve hata ayıklamak zordu ve şirketler bunu yapmak için insanlara para ödeyebiliyorlardı. Asker, araştırmacılar ve akademisyenler boş zamanlarında ücretsiz olarak yapıyorlardı (interneti geliştirenlerin çoğu internetin geliştirilmesi ile ilgili olmayan işler).
Hafta sonları bir hobi olarak kod yazarken ve yaptığınız işi yapmak için para almıyorsanız, daha basit bir çözüm olan metni seçersiniz. Bu nedenle, metin tabanlı protokoller, ikili protokollerden daha fazla kişi tarafından kullanılmaktadır.
Ama bu tam hikaye değil. Bir ağ kurmak zor. Gerçekten zor. Bugün internete o kadar alışmışız ki, mühendislik harikasının ne olduğunu tam olarak anlamıyoruz. İnternetin hemen hemen her yönü bir hata düzeltmesinden çıktı. Örneğin, MAC adresi yerine IP adresini kullanıyoruz, çünkü yönlendirme tablosu için terabayt RAM yerine yalnızca kilobayt (veya bu günlerde megabayt) olan yönlendiriciler oluşturmamızı sağlıyor. Çözmeye çalıştığımız problemler arttıkça, hata ayıklamak için metin tabanlı protokolleri tercih etme eğilimimiz de artmaktadır. Düşük seviyeli ağ protokollerini geliştirme konusunda yeterli tecrübeye sahip olduktan sonra, uygulama protokolleri geliştirme zamanı geldiğinde, deneyimli programcıların ve mühendislerin çoğu metin protokollerini tercih etme eğilimindeydi.
Kişisel tecrübemden dolayı, bir şirket yönlendiricileri kurmak için çalıştım ve ayrıca telemetri ekipmanları üreten bir şirket için çalıştım, bu nedenle TCP / IP, ARP, IEC60870-5- gibi ikili protokollerle çalışma konusunda çok fazla deneyime sahip oldum. 101 ve DNP3. Ayrıca HTTP, POP3 ve NMEA gibi metin protokolleriyle de çalıştım. Ayrıca ASN.1 gibi ikili veri formatları ve JSON ve XML gibi metin veri formatlarıyla çalıştım. Eğer seçim yapsaydım hemen hemen her seferinde metin seçerdim. İkili seçtiğim tek zaman protokolün gerçekten düşük seviyeli olup olmadığıdır (o zaman üstüne veya üzerinde metin tabanlı bir protokolü işaretleyebilmem için yeterince uygularım) veya veriler doğal olarak ikilidir (ses dosyaları gibi) .