الاقتراع الطويل هو أحد التقنيات التي تسمح لك بتحديث صفحة الويب في الوقت الفعلي. يتم استخدامه لإنشاء تطبيقات تفاعلية مثل الدردشات والإشعارات والعديد من الخدمات الأخرى. يعتمد الاقتراع الطويل على مبدأ "الانتظار الطويل" — ينتظر الخادم استجابة حتى تظهر معلومات محدثة.
كيف يعمل? عندما يرسل العميل طلبا إلى الخادم ، يتحقق الخادم مما إذا كانت هناك بيانات جديدة لإرجاعها. إذا لم تكن هناك بيانات ، فلن يستجيب الخادم على الفور ، ولكنه يحدد "انتظارا طويلا" — الانتظار حتى تظهر أحدث المعلومات. في هذا الوقت ، يظل العميل متصلا بالخادم. عندما تظهر بيانات جديدة ، يرسل الخادم استجابة إلى العميل وتتكرر العملية.
يمكن تنفيذ الاقتراع الطويل باستخدام تقنيات مختلفة ، بما في ذلك أياكس ، كوميت و ويبسوكيتس. كل واحد منهم له خصائصه ومزاياه الخاصة. أجاكس هي تقنية تسمح لك بإرسال طلبات غير متزامنة إلى الخادم دون إعادة تحميل الصفحة. المذنب هو التكنولوجيا التي تسمح للخادم لإرسال البيانات مباشرة إلى العميل. ويبسوكيتس هو بروتوكول اتصال بين العميل والخادم الذي يسمح لهم بإنشاء اتصال دائم والعمل معا.
الاقتراع الطويل هو حل فعال لإنشاء تطبيقات الويب التفاعلية. بفضل هذه التقنية ، يتلقى المستخدم معلومات محدثة في الوقت الفعلي ، مما يجعل استخدام التطبيق أكثر ملاءمة وكفاءة.
- ما هو الاقتراع الطويل?
- كم من الوقت يعمل الاقتراع
- مزايا وعيوب الاقتراع الطويل
- آلية الاقتراع الطويل
- الاقتراع الطويل من جانب الخادم
- استطلاع العميل الطويل
- أمثلة على تطبيقات الاقتراع الطويلة
- بدائل الاقتراع الطويل
- سؤال وجواب
- ما هو الاقتراع الطويل?
- كيف يعمل الاقتراع الطويل?
- ما هي المزايا التي يتمتع بها الاقتراع الطويل على تقنيات تحديث الصفحة الأخرى?
- ما هي التقنيات التي يمكن استخدامها مع الاقتراع الطويل?
- ما هي القيود عند استخدام الاقتراع الطويل?
ما هو الاقتراع الطويل?
الاقتراع الطويل هو تقنية تسمح لك بتحديث المحتوى على صفحة ويب دون الحاجة إلى استطلاع الخادم باستمرار.
في الحالة المعتادة ، عندما يرسل العميل طلبا إلى الخادم ، يستجيب الخادم له على الفور ويتم إغلاق الاتصال بين العميل والخادم على الفور. ومع ذلك ، مع الاقتراع الطويل ، يرسل العميل طلبا إلى الخادم وينتظر حتى يكون لدى الخادم معلومات جديدة لإرسالها. يسمح هذا للخادم بإرسال التحديثات إلى العميل في الوقت الفعلي.
تبدو عملية العمل مع الاقتراع الطويل كما يلي:
- يرسل العميل طلبا إلى الخادم وينتظر الرد.
- يتحقق الخادم من البيانات أو التحديثات الجديدة.
- في حالة توفر البيانات/التحديثات ، يرسلها الخادم إلى العميل.
- يتلقى العميل بيانات جديدة ويكرر العملية.
يسمح لك استخدام الاقتراع الطويل بتقليل عدد الطلبات من العميل إلى الخادم ، مما يساعد على تقليل الحمل على الخادم. وهذا بدوره يحسن أداء واستجابة تطبيق الويب.
التطبيق الرئيسي للاستطلاعات الطويلة هو إنشاء دردشة في الوقت الفعلي وتحديث موجز الأخبار وتلقي الإشعارات والسيناريوهات الأخرى التي تتطلب تحديثا فوريا للبيانات على صفحة الويب.
ومع ذلك ، تجدر الإشارة إلى أن استخدام الاقتراع الطويل له أيضا عيوبه. على سبيل المثال ، يتطلب كل انتظار طويل فتح اتصال بالخادم ، مما قد يؤدي إلى استنفاد الاتصالات المتاحة وزيادة التأخير بين التحديثات. من المهم أيضا تعيين المهلات بشكل صحيح لتجنب تعليق الطلبات على الخادم.
بشكل عام ، يعد الاقتراع الطويل أداة قوية لإنشاء تطبيقات ويب ديناميكية تحتاج إلى تحديثات محتوى في الوقت الفعلي.
كم من الوقت يعمل الاقتراع
الاقتراع الطويل هو تقنية برمجة الويب التي تسمح للخادم بإرسال التحديثات إلى العميل في الوقت الحقيقي.
الفكرة الأساسية هي أن العميل يقدم طلبا إلى الخادم ، لكن الخادم لا يستجيب على الفور لهذا الطلب. بدلا من ذلك ، يحتفظ الخادم بالطلب مفتوحا وينتظر حتى يحدث الحدث الذي يهتم به العميل.
عندما يتلقى الخادم معلومات جديدة أو حدثا ، فإنه يرسل استجابة إلى العميل ويغلق الطلب الحالي على الفور. وبالتالي ، يتلقى العميل بيانات محدثة ويمكنه إرسال طلب جديد على الفور إلى الخادم لمزيد من انتظار الأحداث.
يمكن توضيح مبدأ تشغيل الاقتراع الطويل من خلال الخطوات التالية:
- يرسل العميل طلبا إلى الخادم
- يتلقى الخادم الطلب ويبدأ المعالجة
- إذا كانت هناك بيانات أو أحداث جديدة ، يرسل الخادم استجابة إلى العميل ويغلق الطلب الحالي.
- يتلقى العميل استجابة مع البيانات المحدثة ويرسل طلبا جديدا إلى الخادم
- تتكرر العملية حتى يتوقف العميل عن إرسال الطلبات أو يتوقف الخادم عن إنشاء بيانات أو أحداث جديدة.
وبالتالي ، يتيح لك الاقتراع الطويل ضمان تسليم التحديثات في الوقت المناسب للعميل دون الحاجة إلى إرسال الطلبات باستمرار إلى الخادم. يتيح لك ذلك تقليل الحمل على الخادم وتحقيق اتصال أكثر كفاءة بين العميل والخادم.
مزايا وعيوب الاقتراع الطويل
المزايا:
- التحديث الفوري: يتيح لك الاقتراع الطويل تلقي التحديثات في الوقت الفعلي ، وهو أمر مفيد للغاية في الحالات التي تحتاج فيها إلى تلقي معلومات جديدة بسرعة.
- الاستخدام الفعال للموارد: عند استخدام الاقتراع الطويل ، لا يستجيب الخادم لكل طلب عميل ، ولكنه يستجيب فقط عندما تكون هناك معلومات جديدة لإرسالها. هذا يقلل من الحمل على الخادم ويجعل استخدام الموارد أكثر كفاءة.
- سهولة التنفيذ: الاقتراع الطويل بسيط بما يكفي للتنفيذ على الخادم وعلى العميل. لتنفيذه على الخادم ، تحتاج إلى إنشاء آلية للانتظار الطويل ونقل التحديثات إلى العملاء.
العيوب:
- يستغرق الموارد: عند استخدام الاقتراع الطويل ، يحتاج الخادم إلى الاحتفاظ باتصالات مفتوحة مع العملاء ، مما قد يؤدي إلى تناول موارد خادم إضافية وزيادة الحمل.
- تأخير نقل البيانات: في بعض الحالات ، قد يكون هناك تأخير طفيف في نقل البيانات ، خاصة في الحالات التي يحتاج فيها الخادم إلى وقت لإنشاء تحديث.
- دعم المتصفح غير كاف: بعض المتصفحات أو إصداراتها لا تدعم الاقتراع الطويل أو لها حدود على عدد الاتصالات النشطة. هذا يمكن أن يكون مشكلة عند التخطيط للتنمية.
على الرغم من بعض العيوب ، لا يزال الاقتراع الطويل حلا شائعا وفعالا لتنفيذ تحديثات المعلومات الفورية على صفحات الويب.
آلية الاقتراع الطويل
الاقتراع الطويل هو تقنية تسمح للخادم بإرسال التحديثات إلى العميل في الوقت الفعلي. على عكس النموذج التقليدي حيث يرسل العميل طلبات إلى الخادم ويتلقى استجابة ، يسمح الاقتراع الطويل للخادم ببدء إرسال البيانات إلى العميل دون الحاجة إلى طلبات مستمرة.
الآلية الرئيسية للاستقصاء الطويل هي أن العميل يرسل طلبا إلى الخادم ، وينام الخادم ، في انتظار ظهور بيانات جديدة. عندما تكون البيانات جاهزة للإرسال ، يرسلها الخادم إلى العميل ، ويرسل العميل على الفور طلبا جديدا إلى الخادم لانتظار التحديثات التالية.
عادة ما تبدو عملية الاقتراع الطويل كما يلي:
- يرسل العميل طلبا إلى الخادم.
- يتلقى الخادم الطلب ويتحقق مما إذا كانت هناك بيانات جديدة لإرسالها إلى العميل.
- إذا كانت هناك بيانات ، يرسلها الخادم إلى العميل وينتظر طلبا جديدا.
- إذا لم تكن هناك بيانات ، فسيذهب الخادم إلى وضع السكون لفترة من الوقت وينتظر ظهور بيانات جديدة.
- عندما تظهر بيانات جديدة ، يرسلها الخادم إلى العميل وينتقل إلى الخطوة 3.
وبالتالي ، يتيح لك الاقتراع الطويل توفير تسليم فوري للبيانات للعميل في الوقت الفعلي دون طلبات مفرطة وبأقل تأخير.
ومع ذلك ، فإن الاقتراع الطويل له عيوبه ، بما في ذلك زيادة تحميل الخادم والحاجة إلى دعم العميل للتعامل مع التحديثات غير المتزامنة. تقنيات أخرى مثل ويبسوكيت ، الأحداث المرسلة الخادم ، أو ويبرتس تستخدم أحيانا لحل هذه المشاكل.
الاقتراع الطويل من جانب الخادم
الاقتراع الطويل من جانب الخادم هو تقنية تسمح للخادم بإنشاء اتصال طويل الأمد مع العميل ونقل التحديثات في الوقت الفعلي إليه. إنه بديل لاستقصاء الخادم التقليدي من قبل العميل أو باستخدام مآخذ الويب.
لتنفيذ الاقتراع الطويل من جانب الخادم ، يجب أن يكون الخادم قادرا على التعامل مع اتصالات متوازية متعددة مع العملاء. عندما يرسل العميل طلبا إلى الخادم ، يحتفظ الخادم بالاتصال مفتوحا ولا يستجيب للعميل حتى تتوفر معلومات جديدة للإرسال. عندما تظهر التحديثات ، يستجيب الخادم للعميل بهذه البيانات ويقوم على الفور بإنشاء اتصال جديد.
يمكن استخدام الاقتراع الطويل من جانب الخادم لإنشاء دردشة في الوقت الفعلي أو أنظمة مراقبة الأحداث أو الإشعارات أو صفحات الويب التي تحتوي على بيانات محدثة دون الحاجة إلى استطلاع الخادم باستمرار.
مثال على كيفية عمل الاقتراع الطويل من جانب الخادم:
- يرسل العميل طلب الحصول على الخادم.
- يحافظ الخادم على الاتصال مفتوحا ولا يستجيب للعميل.
- عندما تظهر بيانات جديدة ، يستجيب الخادم للعميل بهذه البيانات.
- يقوم الخادم على الفور بإنشاء اتصال جديد وينتظر طلب العميل التالي.
- تتكرر العملية ويتلقى العميل تحديثات في الوقت الفعلي.
يتطلب الاقتراع الطويل من جانب الخادم تطبيقا أكثر تعقيدا من الاقتراع التقليدي أو استخدام مآخذ الويب ، ولكن إذا تم تكوينه بشكل صحيح ، فيمكن أن يكون وسيلة فعالة لنقل البيانات في الوقت الفعلي بأقل زمن انتقال.
استطلاع العميل الطويل
الاقتراع الطويل من جانب العميل هو أحد الطرق لتحديث محتوى صفحة الويب بشكل غير متزامن باستخدام بروتوكول هتب.
لكي يعمل الاقتراع الطويل للعميل ، يرسل تطبيق العميل طلب هتب إلى الخادم وينتظر استجابة. ومع ذلك ، على عكس الطريقة الكلاسيكية ، يمكن أن يتأخر الخادم في الاستجابة حتى تظهر بيانات أو أحداث جديدة. وبالتالي ، يتيح لك الاقتراع الطويل من جانب العميل تحديث المعلومات على صفحة الويب في الوقت الفعلي.
يمكن تقسيم عملية الاقتراع الطويل للعميل إلى عدة مراحل:
- يرسل تطبيق العميل طلب هتب إلى الخادم.
- يتلقى الخادم الطلب ويبدأ في معالجته.
- إذا لم تكن هناك بيانات أو أحداث جديدة على الخادم ، فقد يؤخر الخادم الاستجابة حتى تظهر هذه البيانات.
- بمجرد ظهور بيانات أو أحداث جديدة على الخادم ، يقوم الخادم بإنشاء استجابة وإرسالها إلى تطبيق العميل.
- يتلقى تطبيق العميل استجابة ويمكنه تحديث الجزء المقابل من صفحة الويب.
- بعد معالجة الاستجابة ، يكرر تطبيق العميل العملية ، وإرسال طلب هتب إلى الخادم مرة أخرى.
يعد الاقتراع الطويل من جانب العميل طريقة فعالة لتحديث المعلومات على صفحة الويب ، حيث يسمح لك بعدم تحميل الخادم بطلبات مستمرة ويقلل من التأخير بين تحديثات المعلومات. ومع ذلك ، فإن عدم القدرة على معالجة طلبات متعددة في نفس الوقت يمكن أن يقلل من إنتاجية الخادم ويسبب مشاكل في قابلية التوسع.
يستخدم الاقتراع الطويل من جانب العميل على نطاق واسع في التطبيقات في الوقت الفعلي حيث من المهم تلقي تحديثات في الوقت الفعلي للمعلومات أو الأحداث. على سبيل المثال ، يمكن استخدامه في غرف الدردشة والمنتديات والمراسلين عبر الإنترنت والتطبيقات الأخرى حيث تكون سرعة عرض البيانات الجديدة مهمة.
أمثلة على تطبيقات الاقتراع الطويلة
يمكن تطبيق الاقتراع الطويل في مختلف المجالات حيث يكون النقل السريع للبيانات وتحديث المعلومات أمرا مهما. فيما يلي بعض الأمثلة على استخدام الاقتراع الطويل:
- الدردشات والمراسلين: يتيح لك الاقتراع الطويل تحديث الرسائل في الوقت الفعلي ، مما يجعله اختيارا ممتازا لإنشاء الدردشات والمراسلين حيث يكون التحديث الفوري للحوارات أمرا مهما.
- إشعارات الأحداث: يمكن استخدام الاقتراع الطويل لإرسال إشعارات حول الأحداث في الوقت الفعلي ، مثل الرسائل الجديدة أو تحديثات الوسائط الاجتماعية.
- المراقبة والإدارة: يمكن استخدام الاقتراع الطويل لمراقبة الأنظمة والأجهزة المختلفة عن طريق إرسال الطلبات إلى الخادم وتلقي أو إدارة تحديثات الحالة.
- الألعاب عبر الإنترنت: يمكن استخدام الاقتراع الطويل لتحديث بيانات اللعبة مثل موضع اللاعب وإجراءات اللاعبين الآخرين وتحديثات عالم اللعبة.
- الأنظمة المالية: يستخدم الاقتراع الطويل في الأنظمة المالية لتحديث المعلومات حول عروض الأسعار وعمليات التداول والبيانات المالية الأخرى.
هذه ليست سوى بعض الأمثلة على استخدام الاقتراع الطويل. قدراتها واسعة ، ويمكن استخدامها في العديد من المجالات الأخرى التي تتطلب تحديثات البيانات في الوقت الفعلي.
بدائل الاقتراع الطويل
الاقتراع الطويل هو أحد الطرق لتنظيم الاتصال غير المتزامن بين العميل والخادم. لها مزاياها وعيوبها ، وهي ليست دائما الحل الأمثل لمهمة محددة. وفي بعض الحالات ، قد يكون من المفيد النظر في نهج بديلة.
1. سس (الأحداث المرسلة الخادم)
سس هي تقنية قياسية تسمح للخادم بإرسال البيانات إلى العميل عبر اتصال هتب أحادي الاتجاه. على عكس الاقتراع الطويل ، سس تعمل مع اتصال مفتوح بشكل دائم ، ويمكن للخادم إرسال البيانات إلى العميل في أي وقت.
مزايا سس:
- سهلة التنفيذ-الخادم والعميل يمكن استخدام واجهات برمجة التطبيقات المضمنة للعمل مع سس;
- الدعم في جميع المتصفحات الحديثة;
- إرسال البيانات في الوقت الفعلي - يمكن للخادم إرسال البيانات على الفور عند ظهورها.
مساوئ سس:
- لا يوجد دعم في المتصفحات القديمة ، بما في ذلك إنترنت إكسبلورر;
- يمكن أن تستهلك الحاجة إلى اتصال مفتوح مستمر المزيد من موارد الخادم والشبكة.
2. ويبسوكيتس
ويبسوكيتس هو بروتوكول الاتصال الذي يوفر الاتصال في اتجاهين بين العميل والخادم من خلال اتصال مفتوح واحد. على عكس الأساليب السابقة ، تسمح مجموعات الويب بتبادل البيانات في الوقت الفعلي دون أي تأخير أو طلبات من العميل.
مزايا ويبسوكيتس:
- التسليم الفوري للبيانات-يمكن للخادم والعميل تبادل البيانات على الفور;
- زمن انتقال منخفض-لا داعي لانتظار استجابة من الخادم ، كما هو الحال مع الاقتراع الطويل;
- الاستخدام الفعال للموارد-يمكن أن يخدم اتصال واحد مفتوح طلبات متعددة في نفس الوقت.
عيوب ويبسوكيتس:
- تعقيد التنفيذ-يتطلب خادم خاص ودعم العميل;
- غير معتمد في المتصفحات القديمة;
- مشكلات الأمان المحتملة-المراقبة من جانب الخادم مطلوبة لمنع الهجمات;
- عيب العمل مع خوادم بروكسي هو أنه ليس كل خوادم بروكسي تدعم ويبسوكيتس.
3. طلبات اياكس مع الاقتراع الخادم الدوري
يتضمن هذا النهج استخدام طلبات أجاكس الدورية إلى الخادم للتحقق من البيانات الجديدة. في حالة عدم وجود بيانات جديدة ، يتلقى العميل استجابة فارغة ، وإذا كانت متوفرة ، البيانات اللازمة. يمكن تعيين وتيرة المسح بناء على طلب المطور ، ولكن يجب مراعاة التوازن بين عدد الطلبات وتحديثات البيانات.
مزايا طلبات أجاكس:
- سهلة التنفيذ — طلبات اياكس القياسية يمكن استخدامها لاستطلاع الخادم;
- الدعم في جميع المتصفحات الحديثة;
- انخفاض استهلاك موارد الخادم مقارنة مع الاقتراع الطويل و سس.
عيوب طلبات أجاكس:
- التأخير المحتمل في تسليم البيانات-إذا لم يقدم العميل طلبا في الوقت المناسب ، فقد يفوت تحديث البيانات;
- عدد كبير من الطلبات غير الضرورية إذا قدم العميل طلبات أكثر من اللازم;
- الحاجة إلى تعديل وتيرة المسح لتحقيق التوازن بين الأداء وأهمية البيانات.
يعتمد اختيار بديل للاستقصاء الطويل على المهمة المحددة ومتطلبات الأداء والتوافق والوظائف. كل من هذه الأساليب لها مزاياها وعيوبها ، ويجب على المطور اختيار الخيار الأنسب لمشروعه.
سؤال وجواب
ما هو الاقتراع الطويل?
الاقتراع الطويل هو تقنية تطوير الويب التي تسمح للخادم بإرسال تحديثات في الوقت الفعلي إلى العميل.
كيف يعمل الاقتراع الطويل?
عند استخدام الاقتراع الطويل ، يرسل العميل طلبا إلى الخادم وينتظر الرد. إذا لم تكن هناك بيانات جديدة على الخادم ، فإنها تؤخر الاستجابة وتبقي الاتصال مفتوحا. عندما تظهر بيانات جديدة ، يرسل الخادم استجابة ، ويرسل العميل طلبا جديدا على الفور. وبالتالي ، يتم إنشاء اتصال دائم بين العميل والخادم ، مما يسمح بنقل البيانات في الوقت الفعلي.
ما هي المزايا التي يتمتع بها الاقتراع الطويل على تقنيات تحديث الصفحة الأخرى?
الاقتراع الطويل له العديد من المزايا. أولا ، يسمح لك بنقل التحديثات في الوقت الفعلي دون الحاجة إلى إعادة تحميل الصفحة. ثانيا ، يسمح لك بحفظ حركة مرور الشبكة ، حيث لا يحدث نقل البيانات إلا في حالة وجود تحديثات. ثالثا ، يتيح لك الاقتراع الطويل ضمان الأداء العالي واستجابة التطبيقات.
ما هي التقنيات التي يمكن استخدامها مع الاقتراع الطويل?
يمكن استخدام الاقتراع الطويل مع تقنيات مختلفة مثل جافا سكريبت ، أجاكس ، ويبسوكيتس وغيرها. يتيح لك ذلك إنشاء تطبيقات ويب فعالة وقوية مع تحديثات في الوقت الفعلي.
ما هي القيود عند استخدام الاقتراع الطويل?
أحد قيود الاقتراع الطويل هو أنه يضع الكثير من الحمل على الخادم ويمكن أن يؤدي إلى ارتفاع أحمال الشبكة. أيضا ، قد يكون الاقتراع الطويل غير فعال عندما يرسل العملاء الكثير من الطلبات في وقت قصير. في مثل هذه الحالات ، يوصى باستخدام تقنيات أخرى أو دمجها مع الاقتراع الطويل.