जब WebSockets उपलब्ध है तो AJAX का उपयोग क्यों करें?


203

मैं अभी कुछ समय से वेबसॉकेट्स का उपयोग कर रहा हूं, मैंने यूनिवर्सिटी में नोड सर्वर और वेबसॉकेट्स का उपयोग करके अपने अंतिम वर्ष की परियोजना के लिए एक फुर्तीली परियोजना प्रबंधन उपकरण बनाने के लिए चुना है। मैंने पाया कि WebSockets का उपयोग करके प्रति सेकंड 624% वृद्धि प्रदान की गई, प्रति सेकंड मेरे आवेदन की प्रक्रिया हो सकती है।

हालाँकि, परियोजना शुरू करने के बाद से मैंने सुरक्षा खामियों को पढ़ा है, और कुछ ब्राउज़रों को डिफ़ॉल्ट रूप से WebSockets को अक्षम करने के लिए चुनना है।

यह मुझे इस सवाल की ओर ले जाता है:

AJAX का उपयोग क्यों करें, जब WebSockets विलंबता और संसाधन उपरि को कम करने का इतना बड़ा काम करने लगता है, क्या ऐसा कुछ है जो AJAX, WebSockets की तुलना में बेहतर करता है?


2
यहां उन इंजनों की सूची दी गई है जो वेब सॉकेट का समर्थन करते हैं। en.wikipedia.org/wiki/…
डांटे

जवाबों:


209

AJAX को बदलने के लिए WebSockets का इरादा नहीं है और यह भी सख्ती से धूमकेतु / लंबे समय के चुनाव के लिए प्रतिस्थापन नहीं है (हालांकि कई मामले हैं जहां यह समझ में आता है)।

WebSockets का उद्देश्य एक ब्राउज़र और सर्वर के बीच कम विलंबता, द्वि-दिशात्मक, पूर्ण-द्वैध और लंबे समय तक चलने वाला कनेक्शन प्रदान करना है। WebSockets ब्राउज़र अनुप्रयोगों के लिए नए एप्लिकेशन डोमेन खोलता है जो वास्तव में HTTP और AJAX (इंटरैक्टिव गेम, डायनेमिक मीडिया स्ट्रीम, मौजूदा नेटवर्क प्रोटोकॉल के लिए ब्रिजिंग) का उपयोग करके संभव नहीं थे।

हालाँकि, निश्चित रूप से WebSockets और AJAX / धूमकेतु के बीच एक ओवरलैप है। उदाहरण के लिए, जब ब्राउज़र सर्वर घटनाओं (यानी पुश) को अधिसूचित करना चाहता है, तो धूमकेतु तकनीक और वेबसॉकेट निश्चित रूप से दोनों व्यवहार्य विकल्प हैं। यदि आपके एप्लिकेशन को कम-विलंबता पुश ईवेंट की आवश्यकता है, तो यह WebSockets के पक्ष में एक कारक होगा। दूसरी ओर, यदि आपको मौजूदा रूपरेखाओं और तैनात प्रौद्योगिकियों (OAuth, Restful APIs, परदे के पीछे, लोड बैलेन्कर्स) के साथ सह-अस्तित्व में रहने की आवश्यकता है, तो यह धूमकेतु तकनीकों (अभी के लिए) के पक्ष में एक कारक होगा।

यदि आपको उन विशिष्ट लाभों की आवश्यकता नहीं है जो WebSockets प्रदान करता है, तो शायद AJAX और धूमकेतु जैसी मौजूदा तकनीकों के साथ रहना बेहतर होगा क्योंकि यह आपको टूल, तकनीक, सुरक्षा तंत्र के विशाल मौजूदा पारिस्थितिकी तंत्र के साथ फिर से उपयोग करने और एकीकृत करने की अनुमति देता है। , ज्ञान का आधार (यानी स्टैकओवरफ्लो पर अधिक लोग HTTP / Ajax / धूमकेतु को WebSockets से जानते हैं), आदि।

दूसरी ओर, यदि आप एक नया एप्लिकेशन बना रहे हैं जो HTTP / Ajax / धूमकेतु के विलंबता और कनेक्शन बाधाओं के भीतर ठीक से काम नहीं करता है, तो WebSockets का उपयोग करने पर विचार करें।

इसके अलावा, कुछ उत्तरों से संकेत मिलता है कि वेबस्केट्स के डाउनसाइड्स में से एक सीमित / मिश्रित सर्वर और ब्राउज़र समर्थन है। मुझे सिर्फ यह फैलाना है कि थोड़ा। जबकि iOS (iPhone, iPad) अभी भी पुराने प्रोटोकॉल (Hixie) का समर्थन करता है, अधिकांश WebSockets सर्वर Hixie और HyBi / IETF 6455 संस्करण दोनों का समर्थन करते हैं । अधिकांश अन्य प्लेटफ़ॉर्म (यदि उनके पास पहले से अंतर्निहित समर्थन नहीं है) वेब-सॉकेट-जेएस (फ्लैश आधारित पॉलीफ़िल) के माध्यम से वेब पॉकेट समर्थन प्राप्त कर सकते हैं । यह अधिकांश वेब उपयोगकर्ताओं को कवर करता है। इसके अलावा, यदि आप सर्वर बैकएंड के लिए नोड का उपयोग कर रहे हैं, तो सॉकेट का उपयोग करने पर विचार करें। I जिसमें वेब-सॉकेट-जेएस भी शामिल है और यदि वह भी उपलब्ध नहीं है (या अक्षम है) तो यह जो भी धूमकेतु तकनीक है उसका उपयोग करके वापस आ जाएगा। दिए गए ब्राउज़र के लिए उपलब्ध है।

अद्यतन : iOS 6 अब वर्तमान HyBi / IETF 6455 मानक का समर्थन करता है।


37
और अब 2014 की सुबह में, WebSockets व्यावहारिक रूप से एक मानक (RFC 6455) है और केवल ओपेरा मिनी इसका समर्थन नहीं करता है।
डिर्क बेस्टर

4
सच है, ओपेरा मिनी इसका समर्थन नहीं करता है, लेकिन अधिक शर्मनाक यह है कि एंड्रॉइड ब्राउज़र के समर्थन की कमी है जो वेबव्यू आधारित ऐप (कॉर्डोवा फोनगैप) के साथ उपयोग करने के लिए थोड़ा अधिक जटिल है
माइल्स एम।

2
@ तनाका, अगर वे दोनों बड़ी फाइलें समान रूप से अच्छी तरह से करते हैं, तो बस वेबसैट के माध्यम से सब कुछ क्यों नहीं भेजा जाता है? वेब पेज के माध्यम से जब सब कुछ भेजा जा सकता है तो पेज / डेटा को परेशान क्यों करें? (मान लें कि यह पहले से ही 2020 तक है और सभी ब्राउज़रों के पास
वेबस्केट्स के

3
@Pacerier एक पूर्ण उत्तर लंबा होगा, लेकिन यह मूल रूप से इस तथ्य पर उबलता है कि आप उन चीजों को फिर से लागू करने की कोशिश कर रहे हैं जो ब्राउज़र पहले से ही अच्छी तरह से करता है (कैशिंग, सुरक्षा, समानता, त्रुटि हैंडलिंग, आदि)। प्रदर्शन के संबंध में, हालांकि, स्क्रैच कच्ची बड़ी फ़ाइल स्थानांतरण गति समान होगी, ब्राउज़रों को वेब सामग्री की बहुत अच्छी तरह से कैशिंग करने के लिए वर्षों से है (जिनमें से बहुत से AJAX अनुरोधों पर लागू होता है) इसलिए व्यवहार में AJAX से WebSockets पर स्विच करने की संभावना नहीं है मौजूदा कार्यक्षमता के लिए लाभ। लेकिन कम विलंबता द्वि-दिशात्मक संचार के लिए यह एक बड़ी जीत है।
काणक k

5
मुझे खेद है, लेकिन मेरे लिए यह सवाल का जवाब नहीं है। यह मूल रूप से सिर्फ यह कहता है कि वे एक दूसरे को बदलने के लिए नहीं हैं और यह कि डब्ल्यूएस पूरी तरह से समर्थित नहीं है (यह अब है)। इसका जवाब नहीं है कि आप वेबसैट पर AJAX क्यों पसंद करेंगे? उदाहरण के लिए डिस्कोर्ड लेते हैं। डिस्क सर्वर से क्लाइंट के लिए संदेश और घटनाओं को पुश करने के लिए WS का उपयोग करता है, इस बीच यह क्लाइंट से सर्वर के लिए HTTP अनुरोधों का उपयोग करता है (संदेश भेजें, डेटा अनुरोध करें, आदि)। मैं वास्तव में इस सवाल का जवाब पाने के लिए आया हूं कि आप ऐसा क्यों करेंगे। क्या कोई कारण है कि आप AJAX को खुले WS कनेक्शन के ऊपर क्यों रखेंगे?
शारलेट डनॉइस

63

दिसंबर 2017 तक तेजी से आगे बढ़ रहे हैं , वेबसोकेट हर ब्राउज़र द्वारा (व्यावहारिक रूप से) समर्थित हैं और उनका उपयोग बहुत आम है।

हालांकि, इसका मतलब यह नहीं है कि वेबसोकेट AJAX को बदलने में कामयाब रहे, कम से कम पूरी तरह से नहीं, खासकर HTTP / 2 अनुकूलन बढ़ रहा है।

संक्षिप्त उत्तर यह है कि AJAX अभी भी अधिकांश REST अनुप्रयोगों के लिए बहुत अच्छा है, यहां तक ​​कि Websockets का उपयोग करते समय भी। लेकिन भगवान विवरण में है, इसलिए ...:

मतदान के लिए AJAX

मतदान के लिए AJAX का उपयोग (या लंबे समय तक मतदान) मर रहा है (और यह होना चाहिए), लेकिन यह अभी भी दो अच्छे कारणों (मुख्य रूप से छोटे वेब ऐप के लिए) के उपयोग में बना हुआ है:

  1. कई डेवलपर्स के लिए, AJAX कोड करना आसान है, खासकर जब यह बैकएंड को कोडिंग और डिज़ाइन करने की बात आती है।

  2. HTTP / 2 के साथ, AJAX (एक नए कनेक्शन की स्थापना) से संबंधित उच्चतम लागत को समाप्त कर दिया गया, जिससे AJAX को विशेष रूप से डेटा पोस्ट करने और अपलोड करने के लिए काफी प्रदर्शन करने की अनुमति मिली।

हालाँकि, Websocket पुश AJAX से बहुत बेहतर है (हेडर को फिर से प्रमाणित करने या पुन: प्रमाणित करने की आवश्यकता नहीं है, "नो डेटा" राउंडट्रिप्स आदि की कोई आवश्यकता नहीं है)। इस पर कई बार चर्चा हुई

अजाक्स फॉर रेस्ट?

AJAX के लिए एक बेहतर उपयोग अन्य एपीआई कॉल है। यह उपयोग कोड आधार को सरल करता है और वेबसोकेट कनेक्शन को अवरुद्ध होने से रोकता है (विशेषकर मध्यम आकार के डेटा अपलोड पर)।

AJAX को कॉल और डेटा अपलोड के लिए AJAX पसंद करने के लिए कई सम्मोहक कारण हैं :

  1. AJAX API को व्यावहारिक रूप से REST API कॉल के लिए डिज़ाइन किया गया था और यह एक बेहतरीन फिट है।

  2. AJAX का उपयोग करके कॉल और अपलोड को क्लाइंट और बैकएंड दोनों पर कोड करना काफी आसान है।

  3. जब तक डेटा पेलोड बढ़ता है, तब तक वेबसोकेट कनेक्शन अवरुद्ध हो सकते हैं जब तक कि संदेश विखंडन / मल्टीप्लेक्सिंग तर्क कोडित न हो।

    यदि किसी एकल वेबसोकेट sendकॉल में कोई अपलोड किया जाता है , तो अपलोड समाप्त होने तक यह वेबसोकेट स्ट्रीम को ब्लॉक कर सकता है। यह प्रदर्शन को कम करेगा, खासकर धीमी ग्राहकों पर।

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

हालाँकि, बड़ी परियोजनाओं पर, Websockets द्वारा पेश लचीलापन और कोड जटिलता और संसाधन प्रबंधन के बीच संतुलन Websockets के पक्ष में शेष राशि को टिप देगा।

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

अपलोड विखंडन तर्क को कोड करके, एक बाधित अपलोड को फिर से शुरू करना आसान है (कठिन भाग चीज को कोड कर रहा था)।

HTTP / 2 पुश के बारे में क्या?

मुझे संभवतः जोड़ना चाहिए कि HTTP / 2 पुश फीचर वेबसोकेट को प्रतिस्थापित नहीं करता (और शायद नहीं कर सकता)।

इससे पहले यहां चर्चा की गई थी , लेकिन यह उल्लेख करने के लिए पर्याप्त है कि एक एकल HTTP / 2 कनेक्शन पूरे ब्राउज़र (सभी टैब / विंडो) परोसता है, इसलिए HTTP / 2 द्वारा धक्का दिए जा रहे डेटा को यह पता नहीं है कि यह किस टैब / विंडो से संबंधित है, वेबसैट को सीधे किसी विशिष्ट ब्राउज़र टैब / विंडो में धकेलने की क्षमता को बदलने की क्षमता को समाप्त करना।

जबकि Websockets छोटे द्वि-दिशात्मक डेटा संचार के लिए महान हैं, AJAX ने अभी भी कई फायदे उठाए हैं - खासकर जब बड़े पेलोड (अपलोड आदि) पर विचार कर रहे हैं।

और सुरक्षा?

खैर, आम तौर पर, एक प्रोग्रामर को जितना अधिक विश्वास और नियंत्रण की पेशकश की जाती है, उतना ही शक्तिशाली उपकरण ... और अधिक सुरक्षा चिंताएं जो रेंगती हैं।

AJAX का स्वभाव ऊपरी हाथ होगा, क्योंकि यह सुरक्षा ब्राउज़र के कोड में बनाया गया है (जो कभी-कभी संदिग्ध होता है, लेकिन यह अभी भी है)।

दूसरी ओर, AJAX कॉल "मैन इन द मिडल" हमलों के लिए अतिसंवेदनशील होते हैं, जबकि वेबसोकेट्स सुरक्षा समस्याएं आमतौर पर एप्लिकेशन कोड में बग होती हैं, जो सुरक्षा दोष पेश करती हैं (आमतौर पर बैकेंड प्रमाणीकरण तर्क है कि आप इन्हें कहां पाएंगे)।

व्यक्तिगत रूप से मुझे यह नहीं लगता कि यह अंतर से बड़ा है, अगर मुझे लगता है कि वेबसोकेट थोड़ा बेहतर है, खासकर जब आप जानते हैं कि आप क्या कर रहे हैं।

मेरी विनम्र राय

IMHO, मैं सब कुछ के लिए Websockets का उपयोग करेगा लेकिन REST API कॉल। बिग डेटा अपलोड मैं संभव के रूप में टुकड़े और Websockets पर भेज देंगे।

पोलिंग, IMHO, को गैरकानूनी घोषित किया जाना चाहिए, नेटवर्क ट्रैफ़िक में लागत भयानक है और नए डेवलपर्स के लिए भी वेबसोकेट पुश प्रबंधन के लिए पर्याप्त आसान है।


2
छोटी व्याकरण की त्रुटि 'अगर मुझे कुछ भी हो ...' सोचें
स्पॉटमोहन

2
@spottedmahn - धन्यवाद! मुझे लगता है कि ऐसा होता है कि मैं अपने कोड संपादक का उपयोग पाठ का मसौदा तैयार करने के लिए करता हूं
मिस्ट

1
माफी, मैं उस समय अनुपस्थित था जब इनाम की अवधि समाप्त हो गई थी। मेरी ओर से पूरी योजना। मैंने एक और इनाम निर्धारित किया है जिसे मैं 23 घंटे की अवधि समाप्त होने के बाद आपको पुरस्कार दूंगा।
डंकन जोन्स

@ इस महान विवरण के लिए धन्यवाद। आप fb / stackoverflow जैसी लाइव सूचनाओं के लिए क्या पसंद करेंगे? मैं अपने वेब एप्लिकेशन के लिए एक रेस्टफुल वेबसर्विस डिजाइन कर रहा हूं, लेकिन बहुत उलझन में हूं कि मुझे अधिसूचना सुविधा के लिए क्या उपयोग करना चाहिए? AJAX या WebSockets?
कर्कर

@puspen नोटिफिकेशन (IMHO) वेबसोकेट के लिए एक बढ़िया फिट हैं। जब आप पुन: संयोजन तर्क और ऑफ़लाइन सूचना कतारों को डिज़ाइन कर रहे होते हैं, तो बहुत सारे निर्णय लेने होते हैं, लेकिन वास्तविक अधिसूचना वेबस्केट के साथ कोड और प्रदर्शन करने में आसान होती है।
मिस्ट

18

पुराने ब्राउज़रों के साथ समस्याओं के अलावा (IE9 के रूप में, जैसे WebSockets IE10 से शुरू होने का समर्थन किया जाएगा), अभी भी नेटवर्क बिचौलियों के साथ बड़ी समस्याएं हैं, जो अभी तक पारदर्शी प्रॉक्सी, रिवर्स प्रॉक्सी और लोड बैलेंसर्स सहित WebSockets का समर्थन नहीं करती हैं। कुछ मोबाइल वाहक हैं जो पूरी तरह से WebSocket ट्रैफ़िक को रोकते हैं (जो HTTP UPGRADE कमांड के बाद)।

वर्षों बीतने के साथ, WebSockets अधिक से अधिक समर्थित होगा, लेकिन इस बीच आपको ब्राउज़र में डेटा भेजने के लिए हमेशा HTTP-आधारित फॉल-बैक विधि होनी चाहिए।


सौभाग्य से अधिकांश WebSocket चौखटे समर्थन करते हैं, जिसमें फॉलबैक शामिल हैं, जिसमें सॉकेट्स के लिए Flash का उपयोग करना शामिल है। Socketn.IO और सिग्नलआर दोनों ही अच्छे ढांचे हैं ... हालांकि आप वास्तव में सीमित हैं, जैसा कि आप भविष्यवाणी और लोड बैलेन्सर के कारण उल्लेख करते हैं। सौभाग्य से, Node.JS और अगले IIS दोनों इस भूमिका के साथ एक अच्छा काम करते हैं।
ट्रैकर 1

जिज्ञासु: कौन से वाहक पोर्ट 80 पर WebSocket को रोकते हैं? पोर्ट 443 पर सुरक्षित वेबसोकेट (WSS) को कौन सा ब्लॉक करता है? उत्तरार्द्ध का तात्पर्य है, पारदर्शी MITM वेब परदे के पीछे मजबूर होना। सार्वजनिक नेटवर्क (केवल कॉर्पोरेट वाले) में ऐसा कभी नहीं देखा गया, क्योंकि इसके लिए नए CA certs को ब्राउज़र में स्थापित करने की आवश्यकता होती है।
obststet

दुश्मन उदाहरण, वर्तमान में, वोडाफ़ोन इटली ने पोर्ट 80 पर WS को ब्लॉक कर दिया है, लेकिन WSS को पोर्ट 443 पर अनुमति देता है। आप हमारे होम पेज के माध्यम से किसी भी वाहक का आसानी से परीक्षण कर सकते हैं, जिसे आप HTTP और HTTPS दोनों में एक्सेस कर सकते हैं। यह WebSockets की कोशिश करता है और अवरुद्ध होने पर HTTP पर वापस आ जाता है। वर्तमान परिवहन की रिपोर्ट करने वाले बीच में विजेट प्रदर्शित करने के लिए इस URL का उपयोग करें: lightstreamer.com/?s
Alessandro Alinone

17

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


11

पुराने वेब ब्राउज़र में WebSockets काम नहीं करता है, और जो लोग इसका समर्थन करते हैं , उनमें अक्सर अलग-अलग कार्यान्वयन होते हैं। यह बहुत ही एकमात्र अच्छा कारण है कि उन्हें AJAX के स्थान पर हर समय उपयोग नहीं किया जाता है।


8
एक बेहतर कारण यह है कि एक AJAX अनुरोध एक सामान्य HTTP अनुरोध है जिसका अर्थ है कि यह HTTP संसाधनों को पुनः प्राप्त कर सकता है; WebSockets ऐसा नहीं कर सकता।
दान डी।

@ क्या होगा यदि उदाहरण के लिए छवि फ़ाइलों को बेस 64, सीएसएस को पाठ के रूप में भेजा जाता है, तो जावास्क्रिप्ट भी पाठ के रूप में और फिर दस्तावेज़ में जोड़ा जाता है? क्या यह प्रशंसनीय होगा?
जैक

@DanD। +1, मैं सहमत हूं, मुझे लगता है कि मैं इस प्रश्न के उदाहरण में तेजी से स्ट्रीमिंग डेटा के संदर्भ में प्रश्न से अधिक आ रहा था, लेकिन यह निश्चित रूप से सही है।
जॉली

@Dan D - कभी-कभी आप यह सब नहीं चाहते हैं कि इस तरह के कुकीज़ और हेडर के रूप में लाइन पर जाएं ...
vsync

8
@DanD।, HTTP और WebSocket दो अलग-अलग प्रोटोकॉल हैं, निश्चित रूप से हम HTTP प्रोटोकॉल का उपयोग करके WebSocket संसाधनों का अनुरोध नहीं कर सकते हैं उसी कारण से हम HTTP संसाधनों का अनुरोध नहीं कर सकते हैं! इसका मतलब यह नहीं है कि क्लाइंट Websocket प्रोटोकॉल के माध्यम से भेजे गए html और / या छवि फ़ाइलों का अनुरोध नहीं कर सकता है।
पचेरियर

2

मुझे नहीं लगता कि हम Websockets और HTTP की स्पष्ट तुलना कर सकते हैं क्योंकि वे कोई प्रतिद्वंद्वी नहीं हैं और न ही समान समस्याओं का समाधान करते हैं।

रियल-टाइम तरीके से लंबे समय तक चलने वाले द्विदिश डेटा स्ट्रीमिंग को संभालने के लिए वेबसोकेट एक बढ़िया विकल्प है, जबकि REST सामयिक संचार के लिए बहुत अच्छा है। Websockets का उपयोग करना एक काफी निवेश है, इसलिए यह सामयिक कनेक्शन के लिए एक ओवरकिल है।

आप पा सकते हैं कि उच्च भार मौजूद होने पर वेबस्कैट बेहतर करता है, HTTP कुछ मामलों में थोड़ा तेज है क्योंकि यह कैशिंग का उपयोग कर सकता है। Websockets के साथ REST की तुलना करना संतरे से सेब की तुलना करने जैसा है।

हमें जांचना चाहिए कि कौन सा हमारे आवेदन के लिए बेहतर समाधान प्रदान करता है, कौन सा हमारे उपयोग के मामले में सबसे अच्छा फिट बैठता है।


1
सवाल आम तौर पर AJAX के बारे में था, विशेष रूप से REST के बारे में नहीं। यह सच है कि AJAX का उपयोग REST के लिए किया जा सकता है, लेकिन इसका उपयोग मतदान और लंबे समय के मतदान के लिए भी किया जाता है। यद्यपि मैं आपके निष्कर्ष से सहमत हूं (जैसा कि आप मेरे उत्तर से बता सकते हैं), मुझे लगता है कि आपका उत्तर भेद को दर्शा सकता है (ध्यान दें कि वेबसोकेट का उपयोग आरईएसटी के लिए भी किया जा सकता है, हालांकि HTTP विधियों का उपयोग करके नहीं)।
मिस्ट

@ मिस्ट मैं आपसे सहमत हूँ।
गौरव गांधी

1

HTTP और Websockets के बीच क्लाइंट-साइज़ लिब के रूप में अंतर का एक उदाहरण जो Websocket एंडपॉइंट को संभाल सकता है जैसे REST API और Restful एंडपॉइंट जैसे क्लाइंट पर Websockets। https://github.com/mikedeshazer/sockrest इसके अलावा, उन लोगों के लिए जो क्लाइंट पर वेबसोकेट एपीआई का उपभोग करने की कोशिश कर रहे हैं या इसके विपरीत, जिस तरह से वे उपयोग किए जाते हैं। Libs / sockrest.js बहुत अधिक अंतर को स्पष्ट करता है (या बल्कि माना जाता है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.