http - महत - वेबसाकेट्स और लंबी-मतदान पर बोश के लिए कौन से विशिष्ट उपयोग मामले कॉल करते हैं?



विश्व मतदाता दिवस कब मनाया जाता है (1)

BOSH है ...

एक परिवहन प्रोटोकॉल जो लगातार मतदान या चकित प्रतिक्रियाओं के उपयोग की आवश्यकता के बिना कई सिंक्रोनस HTTP अनुरोध / प्रतिक्रिया जोड़े का कुशलता से उपयोग करके दो इकाइयों (जैसे क्लाइंट और सर्वर) के बीच दीर्घकालिक, द्विपक्षीय टीसीपी कनेक्शन के अर्थशास्त्र को अनुकरण करता है।

यह WebSockets और HTTP लंबी-मतदान की तरह लगता है सिवाय इसके कि यह एक के बजाय दो खुले HTTP कनेक्शन का उपयोग करता है और HTTP प्रोटोकॉल का विस्तार नहीं करता है।

दो प्रोटोकॉल के बीच अंतर क्या हैं, और बोस पर वेबसाकेट्स का क्या उपयोग करना पसंद करेगा?


सबसे पहले मुझे वेबस्केट्स तत्परता को संबोधित करने दें :

Hixie-76 प्रोटोकॉल के WebSockets कार्यान्वयन को क्रोम, सफारी और आईओएस (आईफोन और आईपैड) में डिफ़ॉल्ट रूप से भेज दिया जाता है और सक्षम किया जाता है। हिक्सी -76 प्रोटोकॉल को भी भेज दिया गया है लेकिन फ़ायरफ़ॉक्स 4 और ओपेरा 11 में डिफॉल्ट रूप से अक्षम किया गया है। web-socket-js प्रोजेक्ट एक फ्लैश शिम / पॉलीफिल है जो फ्लैश के साथ किसी भी ब्राउज़र पर वेबसॉकेट (हिक्सी -76) समर्थन जोड़ता है।

दूसरे शब्दों में, वेबसाकेट जंगली में लगभग हर ब्राउज़र के लिए उपलब्ध है।

ओपेरा और मोज़िला ने डिफ़ॉल्ट रूप से प्रोटोकॉल को अक्षम करने का कारण सैद्धांतिक चिंता के कारण किया है कि प्रोटोकॉल के हिक्सी संस्करणों का उपयोग करके कुछ टूटी हुई HTTP प्रॉक्सी / मध्यस्थों पर हमला / जहर हो सकता है। फ्लैश पर भी यही चिंता लागू होती है लेकिन मोज़िला और ओपेरा को जहाज के लिए ज़िम्मेदारी का उच्च कर्तव्य महसूस होता है। प्रोटोकॉल के हाइबी संस्करण (प्रोटोकॉल को आईईटीएफ हाइबी वर्किंग ग्रुप में ले जाया गया था) सुरक्षा चिंता का समाधान करते हैं।

मोज़िला, ओपेरा, Google, और माइक्रोसॉफ्ट सभी हाइबी प्रोटोकॉल कार्यान्वयन पर काम कर रहे हैं (हालांकि माइक्रोसॉफ्ट अब के लिए एक अलग डाउनलोड के रूप में अपना रखरखाव कर रहा है)। HyBi-07 समर्थन के साथ वेब-सॉकेट-जेएस की एक शाखा है

अपडेट करें : फरवरी, 2013 तक, नवीनतम हाइबी / आईईटीएफ आरएफसी 6455 स्पेक क्रोम 14, फ़ायरफ़ॉक्स 7, आईई 10, ओपेरा 12.1, सफारी 6.0 और web-socket-js फ्लैश शिम / पॉलीफिल द्वारा समर्थित है। मोबाइल उपकरणों पर आईईटीएफ 6455 आईओएस 6.0 पर सफारी द्वारा समर्थित है, ओपेरा मोबाइल 12.1, एंड्रॉइड के लिए क्रोम 14, एंड्रॉइड के लिए फ़ायरफ़ॉक्स 7 और ब्लैकबेरी 7. मूल डिफ़ॉल्ट एंड्रॉइड ब्राउज़र में कोई वेबसेट समर्थन नहीं है।

वेबसॉकेट सर्वर को कार्यान्वित करना आसान है। कई स्टैंडअलोन और प्लगइन कार्यान्वयन हैं जिनमें से अधिकांश हिक्सी -76 और हाइबी प्रोटोकॉल संस्करणों का समर्थन करते हैं:

बॉश बनाम वेबसाकेट्स :

  • विलंबता : बीओएसएच मसौदा दस्तावेज बहुत कम विलंबता का दावा करता है, लेकिन बीओएसएच के लिए वेबसाकेट्स के साथ प्रतिस्पर्धा करना मुश्किल होगा। जब तक आपके पास आदर्श स्थितियां न हों, जहां HTTP / 1.1 सभी मध्यस्थों और लक्षित सर्वर द्वारा सभी तरह से समर्थित है, तो बीओएसएच क्लाइंट और कनेक्शन मैनेजर को प्रत्येक पैकेट और प्रत्येक अनुरोध टाइमआउट के बाद कनेक्शन फिर से स्थापित करने की आवश्यकता होगी। यह विलंबता और विलंबता जिटर में काफी वृद्धि करेगा। औसत विलंबता से वास्तविक समय के अनुप्रयोगों के लिए अक्सर कम जिटर अधिक महत्वपूर्ण होता है। वेबसाकेट कनेक्शन विलंबता और कच्चे टीसीपी कनेक्शन के लिए जिटर में बहुत समान होंगे। और यहां तक ​​कि आदर्श परिस्थितियों में भी, बीओएसएच संचार (और इसलिए राउंड-ट्रिप) की क्लाइंट-टू-सर्वर विलंबता हमेशा वेबसाकेट से अधिक होगी: बीओएसएच को अभी भी HTTP अनुरोध-प्रतिक्रिया अर्थशास्त्र का पालन करना होगा। HTTP स्ट्रीमिंग प्रति अनुरोध एकाधिक प्रतिक्रियाओं को सक्षम करता है (एकाधिक भागों में "सिंगल" प्रतिक्रिया को विभाजित करके) लेकिन इसके विपरीत नहीं (प्रत्येक क्लाइंट संदेश एक नया अनुरोध है)।
  • छोटे पैकेट ओवरहेड : वेबसाकेट में छोटे संदेशों के लिए ओवरहेड बनाने के दो बाइट हैं। बोश में, प्रत्येक संदेश में HTTP अनुरोध और प्रतिक्रिया शीर्षलेख होते हैं (प्रत्येक राउंड-ट्रिप के लिए आसानी से 180+ बाइट)। इसके अलावा, प्रत्येक संदेश एक्सएमएल में लपेटा जाता है (माना जाता है कि वैकल्पिक लेकिन नमूना परिभाषित नहीं करता है) कई सत्र संबंधी विशेषताओं के साथ।
  • जटिलता : जबकि बीओएसएच ब्राउज़र में मौजूदा तंत्र का उपयोग करता है, इसके लिए बोस अर्थशास्त्र को लागू करने के लिए एक जटिल जटिल जावास्क्रिप्ट लाइब्रेरी की आवश्यकता होती है। जावास्क्रिप्ट में इसे प्रबंधित करने से मूल / ब्राउज़र (या यहां तक ​​कि फ़्लैश) कार्यान्वयन की तुलना में विलंबता और जिटर भी बढ़ेगा।
  • कर्षण : बीओएसएच ने एक्सएमपीपी को और अधिक कुशल बनाने के लिए जीवन शुरू किया। यह एक्सएमपीपी समुदाय से बड़ा हुआ और मैं जो कह सकता हूं उससे उस समुदाय के बाहर बहुत कम कर्षण प्राप्त हुआ है। बीओएसएच और एक्सएमपीपी के लिए मसौदे दस्तावेजों को अलग कर दिया गया है, लेकिन एक्सएमपीपी के बिना बोश के बहुत कम वास्तविक विश्व उपयोग प्रतीत होता है।

अपडेट करें :

बस एक वीडियो मिला जहां इयान फेट चैनल एपीआई पर वेबसाकेट के फायदों पर चर्चा करता है जो बोश के समान है (44:00 बजे)





bosh