في HTTP المعتاد يطلب المتصفح ويرد الخادم وينتهي الأمر. ولا يستطيع الخادم من تلقاء نفسه إرسال شيء في المنتصف. ويُنشئ الويب سوكت (WebSocket) «خط هاتف مفتوحاً» بين المتصفح والخادم يستطيع الطرفان عبره إرسال الرسائل متى شاءا.

مثال#

في محادثة دعم فني مباشرة، عندما يرسل الموظف رسالة تظهر على صفحتك في اللحظة نفسها. ولو استُخدمت الطريقة المعتادة لوجب أن يسأل المتصفح كل بضع ثوانٍ «هل من رسالة جديدة؟»، وهذا بطيء ويرهق الخادم. أما في الويب سوكت فيُقام الاتصال مرة واحدة وتتبادل الرسائل بحرية.

الاستخدامات#

  • الدردشة والدعم المباشر
  • ألعاب المتصفح متعددة اللاعبين
  • عرض الأسعار أو النتائج الحية لحظياً
  • التحرير الجماعي للمستندات
  • الإشعارات اللحظية في لوحات الإدارة

كيف يبدأ#

يبدأ الاتصال بطلب HTTP عادي ثم يُرقّى إلى ويب سوكت. ومن بعدها توجد قناة مستقرة. وتبدأ العناوين عادةً بـ ws:// أو wss:// والثانية آمنة.

التحديات#

  • إبقاء كثير من الاتصالات مفتوحة يستهلك موارد الخادم
  • يجب التعامل مع انقطاع الإنترنت وعودته
  • بعض خدمات الاستضافة المشتركة لا تدعمه وتحتاج إلى خادم افتراضي

بدائل أبسط#

للتحديثات أحادية الاتجاه والبسيطة تكفي تقنيات مثل Server-Sent Events أو الاستعلام الدوري. والويب سوكت هو الخيار الأفضل عندما يكون التواصل ثنائي الاتجاه فعلاً وقليل التأخير.