16

प्रलेखन से मैं यह समझ सकता हूं कि Push API और Server Sent Events दोनों आधा डुप्लेक्स हैं लेकिन समान कार्यक्षमता के लिए दो अलग-अलग तकनीकें क्यों हैं? पुश एपीआई में कुछ और महत्वपूर्ण है?पुश एपीआई और सर्वर भेजे गए ईवेंट के बीच क्या अंतर है?

+4

मैं उलझन में भी लेकिन सिर्फ पाया धक्का-api टीम के बारे में सर्वर-से भेजे गए इवेंट उल्लेख कर रहा हूँ। https://github.com/w3c/push-api/issues/104#issuecomment-69745798 –

उत्तर

9

पुश एपीआई सर्वर को क्लाइंट को अधिसूचना भेजने की अनुमति देता है, भले ही आपकी साइट खुली न हो, क्योंकि यह सेवा कर्मचारियों पर निर्भर करती है।

एसएसई (या वेबसाकेट) जब तक उपयोगकर्ता आपकी साइट का उपयोग कर रहा है तब तक काम करता है।

ServiceWorker Cookbook के Web Push अनुभाग में कुछ उदाहरण (दस्तावेज़ीकरण के साथ) हैं जो आपको बेहतर समझने में मदद कर सकते हैं।

5

आप सीधे अपनी वेबसाइट से कनेक्ट करने के लिए सर्वर भेजे गए ईवेंट का उपयोग करते हैं, यह काफी आसान है।

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

General info on Web Push

फ़ायरफ़ॉक्स आदेश जब तक यह खुला है पुश संदेश प्राप्त करने के लिए एक धक्का सेवा का सक्रिय कनेक्शन बनाए रखता है।

यह वेब पुश का मुख्य लाभ है - आप अधिसूचनाएं वितरित कर सकते हैं जैसे उपयोगकर्ता ब्राउज़र खोलता है, उसे आपकी साइट पर जाना नहीं होगा। नुकसान यह है कि आपको इस सदस्यता के लिए उपयोगकर्ता से अनुमति प्राप्त करने की आवश्यकता होगी। एक और नुकसान यह है कि वर्तमान में यह व्यापक रूप से supported होने से बहुत दूर है।

Technical info on Push API

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