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 وترغب في تصحيحها، نقترح عليك استخدام بعض أدوات تصحيح API الممتازة، مثل 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، والتي تعتبر مريحة جدًا.



![[دليل] تحويل واجهات برمجة التطبيقات SOAP إلى واجهات برمجة التطبيقات REST](https://assets.apidog.com/blog/2024/02/convert-soap-to-rest-cover.png)