WebSocket هو بروتوكول اتصال يتيح التواصل الثنائي الاتجاه في الوقت الفعلي بين العملاء والخوادم. في هذه المقالة، سوف نستكشف ما هو WebSocket وكيف يعمل، بما في ذلك مزاياه وعناصره الرئيسية. انضم إلينا بينما نتعمق في عالم WebSocket وقدراته المثيرة.
ما هو WebSocket
WebSocket هو بروتوكول يستخدم لإنشاء قنوات اتصال ثنائية الاتجاه في الوقت الفعلي في تطبيقات الويب. على عكس طلبات HTTP التقليدية التي تكون عادة طلباً واحداً يتبعه رد واحد، يمكن لـ WebSocket إنشاء اتصال دائم يسمح للخادم بدفع البيانات إلى العميل في الوقت الفعلي مع استلام البيانات من العميل أيضاً. بالمقارنة مع التحقق التقليدي أو التحقق الطويل، يقلل WebSocket بشكل كبير من حركة المرور وتأخير الشبكة، مما يحسن من كفاءة وسرعة نقل البيانات. إنه مفيد بشكل خاص لتطوير تطبيقات الويب في الوقت الفعلي والألعاب عبر الإنترنت.
ما هو اتصال WebSocket؟ يقوم WebSocket بإنشاء قناة اتصال ثنائية الاتجاه بين المتصفح والخادم، مما يتيح للخادم دفع الرسائل إلى المتصفح دون الحاجة إلى إرسال المتصفح طلبات مستمرة إلى الخادم. ويتضمن المبدأ إنشاء "مقبس" بين المتصفح والخادم ونقل البيانات عبر مصافحة. حيث إن البروتوكول يتطلب دعم من كل من المتصفح والخادم، يجب تقييمه والتعامل معه في التطبيق.
مبدأ WebSocket
WebSocket هو بروتوكول اتصال ثنائي الاتجاه يعتمد على TCP تم تقديمه مع HTML5، ويعرف بتوافقه مع HTTP، وانخفاض التحميل، والتواصل الفعال. يقوم WebSocket بإنشاء اتصال دائم بين العميل والخادم لنقل البيانات الثنائية الاتجاه في الوقت الفعلي.
تتمثل الميزة الرئيسية لـ WebSocket في إنشاء اتصال TCP دائم يستمر حتى يقوم العميل أو الخادم بإصدار طلب إنهاء. يقوم WebSocket بإبلاغ الخادم بالرغبة في ترقية البروتوكول من HTTP/1.1 إلى بروتوكول WebSocket من خلال معلومات رأس الترقية في HTTP/1.1.
يتم بناء WebSocket على بروتوكول HTTP، ويتم إرسال جميع طلبات WebSocket من خلال بروتوكول HTTP القياسي، والذي يُعترف به بعد ذلك كعلومات رأس محددة ترقية على جانب الخادم. HTTP ضروري لـ WebSocket، حيث يستخدم WebSocket تشفير Sec-WebSocket-Key أثناء المصافحة وتوقيع SHA-1.
بمجرد إنشاء اتصال WebSocket، يمكن للعميل والخادم إرسال تدفقات ثنائية أو سلاسل Unicode لبعضهما البعض. جميع البيانات تكون مُقنّعة، حيث يتم توليد قيمة القناع عشوائياً بواسطة الخادم. قبل إرسال البيانات، يجب أن تكون مُقنّعة لمنع التلاعب الضار من قبل أطراف ثالثة.
من الجدير بالذكر أن بروتوكول اتصال WebSocket يعتمد على الإطارات (حزم البيانات). يمكن تقسيم حزمة بيانات كاملة إلى عدة إطارات، يتضمن كل منها جزءاً من البيانات ومعلومات الرأس.
العلاقة بين WebSocket و HTTP

يستخدم كلا البروتوكولين للتواصل الشبكي.
- HTTP (بروتوكول نقل النص الفائق) هو بروتوكول يعتمد على نموذج الطلب والرد، وكان يُستخدم في البداية لتطبيقات الويب.
- WebSocket هو بروتوكول اتصال ثنائي الاتجاه يمكنه إنشاء اتصال دائم بين العميل والخادم لتمكين الاتصال في الوقت الفعلي.
عند إنشاء اتصال WebSocket، يتطلب بروتوكول WebSocket استخدام بروتوكول HTTP. تحديداً، عندما يريد العميل إنشاء اتصال WebSocket، فإنه يرسل طلب مصافحة عبر طلب HTTP. إذا وافق الخادم على المصافحة، فسيرسل استجابة المصافحة، ثم سيتم ترقية بروتوكول HTTP إلى بروتوكول WebSocket.
لدى بروتوكولات HTTP و WebSocket استخدامات مختلفة أيضاً. يُستخدم بروتوكول HTTP بشكل رئيسي للتواصل عبر الطلب والرد بين العميل والخادم، بينما يُستخدم بروتوكول WebSocket بشكل رئيسي للتواصل في الوقت الفعلي ودفع الخادم. ببساطة، يُعد بروتوكول HTTP "سؤال وجواب"، بينما يُعد بروتوكول WebSocket "محادثة".
باختصار، WebSocket وHTTP هما بروتوكولان مختلفان مع اختلافات في وضع الاتصال، والاستخدام، وإنشاء الاتصال، ولكنهما مرتبطان ببعضهما البعض أيضاً.
استخدام Apidog لتصحيح خدمة WebSocket
إذا كنت قد طورت خدمة WebSocket وتريد تصحيحها، فنحن نقترح استخدام بعض أدوات تصحيح واجهة برمجة التطبيقات الممتازة، مثل Apidog، التي لديها القدرة على تصحيح خدمات WebSocket.
امتداد Google Chrome
يمتلك Apidog كلاً من النسخة الويب وعميل، فإذا كنت تستخدم النسخة الويب وتريد تصحيح خدمة محلية، تحتاج إلى تثبيت امتداد Google Chrome الخاص بـ Apidog. رابط التحميل: امتداد Google Chrome الخاص بـ Apidog
الخطوة 1. إنشاء طلب WebSocket
في التحديث الأخير لـ Apidog، أصبح الوصول إلى واجهة WebSocket سهلاً من خلال النقر على زر "+" في الجانب الأيسر من مشروعك واختيار "واجهة WebSocket جديدة (بيتا)".
من هناك، يمكنك إدخال عنوان URL لواجهة WebSocket الخاصة بك لإنشاء اتصال وإرسال واستلام الرسائل بسلاسة. أدناه، سنقدم تعليمات أكثر تفصيلاً.
الخطوة 2. إعداد الرسالة والمعلمات
في قسم الرسالة، يمكنك ملء المعلومات التي تريد إرسالها إلى جانب الخادم، وسيستلم الخادم المعلومات التي قمت بإرسالها.

خلال عملية النقل، يمكن أيضًا حمل المعلمات. يمكن حمل معلمات الاستعلام على العنوان، وأنواع البيانات التي يمكن حملها تشمل سلسلة، عدد صحيح، عدد، مصفوفة.

الخطوة 3. حفظ الطلب
بعد إكمال المعلومات المطلوبة، يمكنك النقر على زر الحفظ لحفظها للاستخدام في المستقبل، مما يسهل الوصول إليها مرة أخرى في المرة القادمة.

الخطوة 4. الاتصال وإرسال طلبات WebSocket
للتواصل مع خادم WebSocket، نحتاج إلى إنشاء اتصال WebSocket. يمكننا ببساطة النقر على زر "الاتصال" للقيام بذلك.

بعد نجاح الاتصال، سيعرض Apidog رسالة نجاح على الفور. على جانب الخادم، سيتم أيضًا تقديم استجابة بسبب النجاح في الاتصال.
الخطوة 5. إرسال طلب WebSocket
ثم يمكننا التواصل مع الخادم عبر WebSocket. يمكننا استخدام Apidog للنقر على زر الإرسال لإرسال الرسائل والمعلمات إلى الخادم.
الخطوة 6. التواصل مع خدمة WebSocket
بعد الإرسال، يمكن للخادم أيضًا إرسال معلومات إلى العميل. على سبيل المثال، في حالتي، قمت بإعداد الخادم لإرسال الطابع الزمني الحالي إلى العميل كل ثانية. هذه هي وظيفة WebSocket في Apidog، وهي مريحة جدًا.