مشكلة بروتوكول HTTP
الـ HTTP العادي هو بروتوكول 'طلب ورد'. المتصفح يطلب البيانات، السيرفر يرسلها، ثم يُغلق الاتصال. إذا بنيت تطبيق محادثة باستخدام HTTP، سيضطر المتصفح لسؤال السيرفر 'هل هناك رسائل جديدة؟' كل ثانية واحدة (ما يسمى بالـ Polling). هذا يدمر أداء السيرفر.
حل الـ WebSocket
تفتح الـ WebSockets اتصالاً مستمراً وثنائي الاتجاه بين المتصفح والسيرفر. يمكن للسيرفر الآن 'دفع' (Push) البيانات مباشرة للمستخدم في أي وقت دون أن يطلبها المستخدم.
متى تستخدمها؟
استخدمها لتطبيقات تشبه واتساب، أدوات العمل التعاوني (مثل جوجل دوكس)، وتحديثات نتائج المباريات المباشرة. لا تستخدمها للمدونات العادية أو المتاجر الإلكترونية—التزم بـ REST APIs لتلك الحالات.