2012-02-11 15 views
15

क्या विभिन्न वेबसाकेट ड्राफ्ट के बीच प्रोटोकॉल अंतर का कोई सारांश है?वेबसाकेट संस्करणों के बीच प्रोटोकॉल अंतर क्या हैं?

ब्राउज़र समर्थन स्तर अभी भी पूरे स्थान पर हैं, इसलिए आरएफसी पर विचार करने के लिए पर्याप्त नहीं है।

स्पष्ट रूप से सेक-वेबसॉकेट-संस्करण बदलता है, और मुझे पता है कि प्रारंभिक प्रारूप काफी मूल रूप से अलग था। हालांकि, मेरा मतलब प्रोटोकॉल में अधिक सूक्ष्म परिवर्तन है। उदाहरण के लिए, फ़्रेमिंग में, हाइबी -10 (v8), सुझाव देता है कि विस्तारित पेलोड लंबाई 16/63 के रूप में 16/64 के रूप में आरएफसी 6455 (v13) में संग्रहीत की जाती है।

तो: क्या कहीं भी बदलावों का सारांश है?

वैकल्पिक रूप से (यदि हम शुरुआती ड्राफ्ट और संस्करण संख्याओं को अनदेखा करते हैं), तो क्या यह प्रोटोकॉल अनिवार्य रूप से वही है, और यह कि ड्राफ्ट मुख्य रूप से विनिर्देश पाठ में सुधार हैं?

उत्तर

19

विकिपीडिया WebSocket सूचीबद्ध करता है कि कौन से ब्राउज़र प्रोटोकॉल का समर्थन करते हैं।

इसके अलावा, आईईटीएफ एक भिन्न उपकरण प्रदान करता है जिसका उपयोग किसी भी दो आरएफसी ड्राफ्ट विनिर्देशों की तुलना करने के लिए किया जा सकता है। उदाहरण के लिए, WebSocket मसौदा 15 तुलना करने के लिए और 17 यहां जाएं:

मनमाना संस्करणों के लिए एक अंतर पाने के लिए URL1 और url2 पतों को समायोजित करें। ध्यान दें कि इससे आपको स्पेक में टेक्स्ट अंतर दिखाई देगा और स्पेक में बड़े बदलाव अक्सर तार पर समान अंतर के बिना होते हैं। मैं सुझाव देता हूं कि "प्रोटोकॉल अवलोकन" अनुभाग और "बेस फ़्रेमिंग प्रोटोकॉल" अनुभाग के लिए भिन्नताएं खोजें जो क्रमशः हेडर सारांश और फ़्रेमिंग आरेख दिखाती हैं।

हिक्स -76/हाइबी -00 (हाइबी -00 केवल नई श्रृंखला शुरू करने के लिए हिक्सी -76 की एक प्रति थी) के बीच वायर प्रोटोकॉल में सबसे बड़ा अंतर था और बाकी हाइबी श्रृंखला हाइबी -04 से शुरू हुई थी (हाइबी -17 आईईटीएफ आरएफसी 6455 बन गया)। HyBi श्रृंखला के लिए Hixie श्रृंखला से बड़े बदलाव से कुछ:

  • Hixie -76 प्रोटोकॉल में, वहाँ एक अजीब हैश हाथ मिलाना है कि हाथ मिलाना हेडर के बाद, लेकिन वास्तविक डेटा फ्रेम से पहले हुआ था।
  • हिक्सी -76 में, फ्रेम 0x00 के साथ prefixed थे और 0xff के साथ प्रत्यय। फ्रेम के अंत तक सभी तरह से प्राप्त/बफर करके फ्रेम की लंबाई निर्धारित करने का कोई तरीका नहीं था। हाइबी श्रृंखला (हाइबी -00 के बाद) में फ्रेम लंबाई उपसर्ग/शीर्षलेख का हिस्सा है और इसमें कोई प्रत्यय नहीं है।
  • हाइबी श्रृंखला पेलोड में यूटीएफ -8 टेक्स्ट और बाइनरी डेटा दोनों का समर्थन करती है (हिक्सी केवल यूटीएफ -8 समर्थित है)। यह फ्रेम हेडर में इंगित और opcode द्वारा इंगित किया जाता है।
+1

ठीक है, स्पेक तुलना टूल यहां असली विजेता है - मुझे विश्वास है। चीयर्स। मैं बहुत अलग 00 के बारे में अच्छी तरह से अवगत था; बाद के ड्राफ्ट के बीच यह मामूली अंतर था जिसे मैं जांचना चाहता था। –

+0

एक दिलचस्प बदलाव मिला, मूल शीर्षलेख फिर से; मेरे जवाब में अधिक जानकारी –

2

मुझे वर्तमान प्रोटोकॉल संस्करणों में से अधिकांश के बारे में पता नहीं है। मेरे पास एक वेबस्केट सर्वर है जो हिक्सी -76 और हाइबी -10 से 17 का समर्थन करता है (केवल सेक-वेबसेट-संस्करण में परिवर्तन) जो सफारी (डेस्कटॉप + आईओएस), फ़ायरफ़ॉक्स और क्रोम के खिलाफ काम करता है।

(पुराना) Hixie-76 कम से कम आईओएस उपकरणों से बात करने के लिए उपयोगी है।

हाइबी -10 आगे अनिवार्य रूप से वही हैं। मुझे लगता है कि विस्तारित पेलोड का आपका उदाहरण हाइबी -10 में 63 बिट्स के रूप में विज्ञापित किया गया था, यह एक टाइपो था और ड्राफ्ट 10 से 17 तक तेजी से स्थानांतरित होने पर किए गए कई छोटे सुधारों में से एक था।

बाद में: संपादित दिखाएं कि कुछ सफारी संस्करण वास्तव में हिक्सी -76

+0

यह मेरा निष्कर्ष भी था; 63 का उपयोग करने का मतलब यह होगा कि सब कुछ अजीब संरेखण था, जो पागल हो जाएगा। ठंडा; मैं 17 से 17 के लिए संस्करण नकल का प्रयास करूंगा, और स्पष्ट hybi-00 समर्थन जोड़ूंगा। धन्यवाद। –

+0

वास्तव में, एक बदलाव है - मेरा उत्तर –

+0

आह देखें, इसके बारे में क्षमा करें। मुझे याद आया कि मेरे (सरल) websocket सर्वर मूल शीर्षलेख का उपयोग नहीं करता है। – simonc

4

एक विशिष्ट परिवर्तन जोड़ने के लिए; Sec-WebSocketVersion < = 8 में, मूल Sec-WebSocket-Origin में है; हालांकि, 13 में यह Origin शीर्षलेख में बदल जाता है। यह विशेष रूप से between hybi-10 and hybi-11 बदलता है, जो संस्करण "8" दोनों कार्यान्वयन हैं। यह भी ध्यान रखें कि यह Origin हैक्सि -76/हाइबी -00 में है, इसलिए ऐसा लगता है कि यह Origin से Sec-WebSocket-Origin और फिर Origin पर चला गया।

संबंधित मुद्दे