आइए हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल (HTTP) और MQ टेलीमेट्री ट्रांसपोर्ट (MQTT) प्रोटोकॉल की अवधारणाओं को समझें, फिर उनके बीच के अंतरों को जानें।
हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल (HTTP)
हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल, या HTTP, आज दुनिया में सबसे अधिक उपयोग किया जाने वाला एप्लिकेशन लेयर कन्वेंशन होना चाहिए। यह वर्ल्ड वाइड वेब के रूप में अधिकांश लोग इंटरनेट को समझते हैं उसका आधार बनाता है।
इसका उद्देश्य वर्ल्ड वाइड वेब पर वेब साइट्स से हाइपरटेक्स्ट मार्कअप लैंग्वेज (HTML) और अन्य डॉक्यूमेंट्स की रिकवरी के लिए एक हल्का कन्वेंशन प्रदान करना है। हर बार जब आप इंटरनेट सर्फ करने के लिए एक वेब ब्राउज़र खोलते हैं, तो आप TCP/IP पर HTTP का उपयोग कर रहे होते हैं।
आवश्यक HTTP पेज रिट्रीवल
आइए शुरुआत से शुरू करें और देखें कि एक बेसिक ब्राउज़र वेब सर्वर से एक वेब पेज कैसे रिकवर करता है।
पहला महत्वपूर्ण बिंदु यह है कि एक वेब पेज आमतौर पर बड़ी संख्या में आर्टिकल्स से बना होता है, HTML बेस से लेकर पेज पर मौजूद इमेजेज तक।
HTML को पेज के लिए फॉर्मेट के रूप में माना जा सकता है, जो ब्राउज़र को कंटेंट के डिज़ाइन, टेक्स्ट डाइमेंशन और ह्यूज़, पेज का बैकग्राउंड शेड, और पेज बनाने के लिए रिकवर की जाने वाली विभिन्न इमेजेज के बारे में निर्देश देता है।
निम्नलिखित क्रम में होने वाली प्रक्रिया पर विचार करें:
क्लाइंट अपेक्षित पेज के लिए वेब सर्वर को एक अनुरोध भेजता है।
सर्वर अनुरोध का विश्लेषण करता है और पेज बनाने के लिए आवश्यक HTML कोड के साथ क्लाइंट को एक पुष्टिकरण वापस भेजता है।
क्लाइंट HTML को समझना शुरू करेगा और पेज का निर्माण करेगा।
क्लाइंट, परिणामी अनुरोधों में, इमेजेज या अन्य मल्टीमीडिया स्रोतों जैसे एम्बेडेड आइटम्स को रिकवर करेगा।
MQ टेलीमेट्री ट्रांसपोर्ट (MQTT)
एक MQTT फ्रेमवर्क में क्लाइंट्स एक सर्वर के साथ संवाद करते हैं जिसे अक्सर "ब्रोकर" कहा जाता है। एक क्लाइंट या तो जानकारी का पब्लिशर या सब्सक्राइबर हो सकता है। प्रत्येक क्लाइंट ब्रोकर से जुड़ सकता है।
डेटा विषयों के पदानुक्रम में व्यवस्थित होता है। जब किसी पब्लिशर के पास वितरित करने के लिए डेटा का एक नया आइटम होता है, तो वह डेटा के साथ एक कंट्रोल मैसेज कनेक्टेड ब्रोकर को भेजता है।
ब्रोकर तब उस विषय की सदस्यता लेने वाले किसी भी क्लाइंट को जानकारी वितरित करता है। पब्लिशर को सब्सक्राइबर्स की संख्या या स्थानों के बारे में कोई जानकारी नहीं होती और सब्सक्राइबर्स को पब्लिशर्स के बारे में कोई जानकारी होने की आवश्यकता नहीं होती।
यदि ब्रोकर को ऐसा विषय प्राप्त होता है जिसके लिए कोई वर्तमान सब्सक्राइबर नहीं हैं, तो यह विषय को त्याग देगा जब तक कि पब्लिशर यह इंगित न करे कि विषय को बनाए रखा जाना है। यह किसी विषय के नए सब्सक्राइबर्स को पब्लिशर से अगले अपडेट की प्रतीक्षा करने के बजाय सबसे वर्तमान मूल्य प्राप्त करने में सक्षम बनाता है।
जब कोई पब्लिशिंग क्लाइंट पहली बार ब्रोकर से जुड़ता है, तो यह एक डिफ़ॉल्ट मैसेज सेट कर सकता है जिसे सब्सक्राइबर्स को भेजा जाए यदि ब्रोकर पता लगाता है कि पब्लिशिंग क्लाइंट अप्रत्याशित रूप से एजेंट से डिस्कनेक्ट हो गया है।
क्लाइंट केवल एक एजेंट के साथ संवाद करते हैं, लेकिन एक सिस्टम में कई ब्रोकर सर्वर हो सकते हैं जो अपने वर्तमान सब्सक्राइबर्स के विषयों के आधार पर डेटा का आदान-प्रदान करते हैं।
एक न्यूनतम MQTT कंट्रोल मैसेज दो बाइट्स जितना छोटा हो सकता है। यदि आवश्यक हो तो एक कंट्रोल मैसेज लगभग 256 मेगाबाइट डेटा ले जा सकता है।
क्लाइंट को सर्वर से जोड़ने और अलग करने, डेटा पब्लिश करने, डेटा की प्राप्ति को स्वीकार करने, और क्लाइंट और सर्वर के बीच कनेक्शन को निर्देशित करने के लिए चौदह परिभाषित मैसेज टाइप्स का उपयोग किया जाता है।
MQTT डेटा ट्रांसमिशन के लिए TCP कन्वेंशन पर निर्भर करता है। एक वैरिएंट, MQTTSN, UDP या ब्लूटूथ जैसे अन्य ट्रांसपोर्ट्स पर उपयोग किया जाता है।