ऐसा नहीं है कि कई इंटरनेट प्रोटोकॉल पाठ आधारित हैं। वास्तव में, अगर मुझे लगता था कि मैं कहूंगा कि पाठ आधारित प्रोटोकॉल अल्पमत में हैं। लगभग हर पाठ आधारित प्रोटोकॉल के लिए आप इंटरनेट पर देखते हैं कि कम से कम दो बाइनरी प्रोटोकॉल हैं जो लोगों ने समान या समान डेटा भेजने के लिए आविष्कार किए हैं।
लेकिन यह सच है कि अधिकांश इंटरनेट ट्रैफ़िक पाठ आधारित प्रोटोकॉल का उपयोग करते हैं। यह तथ्य दिलचस्प है अगर आप यह मानते हैं कि पाठ की तुलना में कई अधिक द्विआधारी प्रोटोकॉल हैं लेकिन द्विआधारी की तुलना में कई अधिक पाठ ट्रैफ़िक हैं। इसका मतलब है कि इंटरनेट पर अधिकांश सफल प्रोटोकॉल पाठ आधारित हैं। कम संख्या में अनुप्रयोगों को छोड़कर (बिटोरेंट एक उदाहरण है) बाइनरी प्रोटोकॉल मर जाते हैं।
इंटरनेट के शुरुआती दिनों में, निगमों ने बाइनरी प्रोटोकॉल को डिजाइन और उपयोग करने के लिए इस्तेमाल किया था (उदाहरण के लिए एमएसएन, आज की एमएसएन वेबसाइट नहीं, मूल मालिकाना माइक्रो सॉफ्ट नेटवर्क जिसे एचटीटीपी को बदलना था) जबकि सैन्य, अनुसंधान संस्थान और शिक्षाविद डिज़ाइन और टेक्स्ट आधारित प्रोटोकॉल का उपयोग करें। इसका कारण यह था कि द्विआधारी प्रोटोकॉल का निर्माण और डिबगिंग कठिन था और निगम लोग इसे करने के लिए लोगों को भुगतान करने का खर्च उठा सकते हैं जबकि सैन्य, शोधकर्ता और शिक्षाविद अपने खाली समय में बिना किसी भुगतान के कर रहे थे (अधिकांश लोग जो इंटरनेट का विकास कर चुके थे इंटरनेट के विकास से संबंधित नौकरियां नहीं)।
जब आप एक शौक के रूप में सप्ताहांत पर कोड लिख रहे होते हैं और जो आप करते हैं उसके लिए भुगतान नहीं किया जाता है तो आप सरल समाधान - पाठ को चुनते हैं। इसलिए बाइनरी प्रोटोकॉल की तुलना में अधिक लोगों द्वारा पाठ आधारित प्रोटोकॉल का उपयोग किया गया।
लेकिन यह पूरी कहानी नहीं है। नेटवर्क बनाना कठिन है। वास्तव में मुश्किल है। हम आज इंटरनेट के इतने अभ्यस्त हैं कि हमें पूरी तरह से एहसास नहीं है कि यह इंजीनियरिंग का क्या चमत्कार है। इंटरनेट का लगभग हर पहलू बग फिक्स से विकसित हुआ है। उदाहरण के लिए, हम मैक पते के बजाय आईपी पते का उपयोग करते हैं क्योंकि यह हमें रूटिंग टेबल के लिए रैम के टेराबाइट्स के बजाय सिर्फ किलोबाइट्स (या इन दिनों मेगाबाइट) के साथ राउटर बनाने की अनुमति देता है। अधिक से अधिक समस्याओं को हमने हल करने की कोशिश की, जितना अधिक हम उन्हें डिबग करने के लिए पाठ आधारित प्रोटोकॉल पसंद करते हैं। एक बार जब हमारे पास निम्न-स्तरीय नेटवर्क प्रोटोकॉल विकसित करने का पर्याप्त अनुभव था, जब यह एप्लिकेशन प्रोटोकॉल विकसित करने का समय आया, तो अधिकांश अनुभवी प्रोग्रामर और इंजीनियर पाठ प्रोटोकॉल पसंद करने के लिए झुक गए।
व्यक्तिगत अनुभव से, मैंने एक कंपनी बिल्डिंग राउटर के लिए काम किया है और मैंने टेलीमेट्री उपकरण बनाने वाली कंपनी के लिए भी काम किया है, इसलिए मुझे बाइनरी प्रोटोकॉल जैसे टीसीपी / आईपी, एआरपी, आईईसी 60870-5- के साथ काम करने का बहुत अनुभव मिला है। 101 और डीएनपी 3। मैंने HTTP, POP3 और NMEA जैसे टेक्स्ट प्रोटोकॉल के साथ भी काम किया है। मैंने बाइनरी डेटा फॉर्मेट जैसे ASN.1 और टेक्स्ट डेटा फॉर्मेट जैसे JSON और XML के साथ भी काम किया है। अगर मुझे चुनना होता तो मैं लगभग हर बार टेक्स्ट चुनता। केवल समय मैं बाइनरी चुनूंगा यदि प्रोटोकॉल वास्तव में निम्न-स्तर है (तो मैं बस इतना लागू करूंगा कि मैं शीर्ष पर या उस पर एक पाठ आधारित प्रोटोकॉल प्लैंक कर सकूं) या डेटा स्वाभाविक रूप से द्विआधारी है (जैसे ऑडियो फ़ाइलें) ।