ما هو WebSocket وكيف يعمل

ستتناول هذه المقالة ما هو WebSocket وكيف يعمل، بما في ذلك العلاقة بين WebSocket وHTTP.

Amir Hassan

Amir Hassan

21 أغسطس 2025

ما هو WebSocket وكيف يعمل

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

WebSocket هو بروتوكول اتصال يوفر إمكانية التواصل في الوقت الحقيقي ثنائي الاتجاه بين العملاء والخوادم. في هذه المقالة، سنستكشف ما هو WebSocket وكيف يعمل، بما في ذلك مزاياه والمكونات الأساسية له. انضم إلينا ونحن نتعمق في عالم WebSocket وقدراته المثيرة.

ما هو WebSocket

WebSocket هو بروتوكول يُستخدم لإنشاء قنوات اتصال ثنائية الاتجاه في الوقت الحقيقي في التطبيقات الويب. على عكس طلبات HTTP التقليدية التي تتكون عادةً من طلب واحد يتبعه استجابة واحدة، يمكن لـ WebSocket إقامة اتصال دائم يسمح للخادم بدفع البيانات إلى العميل في الوقت الحقيقي مع استلام البيانات من العميل أيضًا. مقارنةً بالاستطلاعات التقليدية أو الاستطلاعات الطويلة، يقلل 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

WebSocketVSHTTP

تستخدم البروتوكولات كلاهما في الاتصالات الشبكية.

عند إقامة اتصال 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. يمكننا ببساطة النقر على زر "الاتصال" للقيام بذلك.

الاتصال وإرسال طلبات WebSocket

بعد نجاح الاتصال، سيعرض Apidog نجاحًا على الفور. على جانب الخادم، سيتم أيضًا إجراء استجابة بسبب نجاح الاتصال.

الخطوة 5. إرسال طلب WebSocket

ثم يمكننا التواصل مع الخادم عبر WebSocket. يمكننا استخدام Apidog للنقر على زر الإرسال لإرسال الرسائل والمعلمات إلى الخادم.

الخطوة 6. التواصل مع خدمة WebSocket

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

Explore more

كيفية الوصول إلى واجهة برمجة تطبيقات كلود 3.7 سونيت واختبارها باستخدام أبادوغ

كيفية الوصول إلى واجهة برمجة تطبيقات كلود 3.7 سونيت واختبارها باستخدام أبادوغ

إذا كنت متحمسًا لإصدار Anthropic الأخير، Claude 3.7 Sonnet، وترغب في استكشاف قدراته من خلال واجهة برمجة التطبيقات (API) أثناء اختباره باستخدام Apidog، فأنت في المكان الصحيح. 💡قبل أن نبدأ، دعني أعطيك لمحة سريعة: قم بتنزيل Apidog مجانًا اليوم لتسهيل عملية اختبار واجهة برمجة التطبيقات الخاصة بك، خاصة لاستكشاف ميزات Claude 3.7 Sonnet القوية - مثالي للمطورين الذين يرغبون في اختبار نماذج الذكاء الاصطناعي المتطورة مثل هذا!زر لنبدأ بشرح لماذا يعد Claude 3.7 Sonnet مهمًا. كشفت Anthropic مؤخرًا عن هذا

25 فبراير 2025

كيفية بناء واختبار واجهة برمجة تطبيقات Spring Boot باستخدام Apidog

كيفية بناء واختبار واجهة برمجة تطبيقات Spring Boot باستخدام Apidog

تعلم كيفية إنشاء واجهة برمجة تطبيقات RESTful بسيطة باستخدام Spring Boot واختبارها بأداة تسمى APIdog. Spring Boot هو إطار عمل يسهل تطوير الويب باستخدام Java. Apidog هي أداة تساعدك في اختبار وتصحيح واجهات برمجة التطبيقات الخاصة بك.

29 فبراير 2024

[دليل] تحويل واجهات برمجة التطبيقات SOAP إلى واجهات برمجة التطبيقات REST

[دليل] تحويل واجهات برمجة التطبيقات SOAP إلى واجهات برمجة التطبيقات REST

تحويل واجهات برمجة التطبيقات SOAP إلى REST أصبح أكثر وضوحًا. تقدم واجهات REST مرونة وقابلية للتوسع وبساطة في تعزيز الاتصال بين نظامين أو برنامجين. في هذه المقالة، اكتشف ما تحتاجه لتحويل واجهات SOAP إلى REST!

29 فبراير 2024

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات