मुझे समझ आता है कि यह सवाल बार-बार क्यों उठता है। एक WebSocket खुला रहता है, याद रखता है कि आप कौन हैं, और सर्वर को बार-बार पूछे बिना ही आपको डेटा भेजने देता है। तो फिर हम एक ही पेज लोड के लिए सौ अलग-अलग HTTP रिक्वेस्ट क्यों भेजते रहते हैं, जब हम सिर्फ एक परसिस्टेंट पाइप खोलकर काम चला सकते हैं? सच कहूं तो यह सवाल जितना समझदार लगता है, उतनी क्रेडिट लोग इसे नहीं देते — और इसका जवाब “क्योंकि HTTP बेहतर है” नहीं है। मामला इससे कहीं ज़्यादा बारीक है।
मैं लगातार सुनता रहा “रियल-टाइम चीज़ों के लिए वेबसॉकेट इस्तेमाल करो” बिना यह समझे कि वायर पर असल में होता क्या है। तो मैंने जाकर RFC पढ़ा, कुछ सर्वर्स को टटोला, और सोचा कि जो कुछ मुझे पता चला वह लिख दूं — जिसमें वह हिस्सा भी शामिल है जिसने मुझे सबसे ज़्यादा उलझाया: क्या वेबसॉकेट अपने आप में एक प्रोटोकॉल है या सिर्फ HTTP के ऊपर कोई चालाक तरकीब?