جلسة (علوم الحاسوب)

في علوم الحاسوب، وشبكات الحاسوب تحديدًا، تُعرَّف الجلسة بأنها رابط ثنائي الاتجاه محدد زمنيًا، وهي طبقة عملية (عالية نسبيًا) في بروتوكول TCP/IP تُمكّن من التفاعل وتبادل المعلومات بين جهازين أو أكثر من أجهزة الاتصال، سواء أكانت حواسيب، أو أنظمة آلية ، أو مستخدمين نشطين (انظر جلسة تسجيل الدخول ). تُنشأ الجلسة في وقت محدد، ثم تُنهى في وقت لاحق. قد تتضمن جلسة الاتصال القائمة أكثر من رسالة واحدة في كل اتجاه. عادةً ما تكون الجلسة مُحتفظة بالحالة ، أي أن أحد طرفي الاتصال على الأقل يحتاج إلى الاحتفاظ بمعلومات الحالة الحالية وحفظ معلومات حول سجل الجلسة ليتمكن من التواصل، على عكس الاتصال غير المُحتفظ بالحالة ، حيث يتكون الاتصال من طلبات مستقلة مع استجابات.

تُعدّ الجلسة المُنشأة شرطًا أساسيًا لإجراء اتصال مُوجّه نحو الاتصال . كما تُعدّ الجلسة الخطوة الأساسية للإرسال في أنماط الاتصال غير المُوجّهة نحو الاتصال . مع ذلك، لا يُعرّف أي إرسال أحادي الاتجاه جلسة. [ 1 ]

يمكن تنفيذ نقل الاتصالات كجزء من البروتوكولات والخدمات في طبقة التطبيق ، أو في طبقة الجلسة ، أو في طبقة النقل في نموذج OSI .

في حالة بروتوكولات النقل التي لا تُطبّق طبقة جلسة رسمية (مثل UDP )، أو حيث تكون الجلسات على مستوى التطبيق قصيرة الأجل عمومًا (مثل HTTP)، تُدار الجلسات بواسطة برنامج ذي مستوى أعلى باستخدام طريقة مُحددة في البيانات المُتبادلة. على سبيل المثال، قد يتضمن تبادل HTTP بين متصفح ومضيف بعيد ملف تعريف ارتباط HTTP يُحدد حالة المستخدم، مثل مُعرّف جلسة فريد ، أو معلومات حول تفضيلات المستخدم أو مستوى صلاحياته.

كان يُعتقد أن بروتوكول HTTP/1.0 يسمح بطلب واستجابة واحدة فقط خلال جلسة ويب/HTTP واحدة. وقد حسّن الإصدار HTTP/1.1 من هذا الأمر من خلال استكمال واجهة البوابة المشتركة (CGI)، مما سهّل إدارة جلسة الويب ودعم ملفات تعريف الارتباط HTTP وتحميل الملفات.

تُدار معظم جلسات العميل والخادم بواسطة طبقة النقل - اتصال واحد لجلسة واحدة. مع ذلك، تُنشئ كل مرحلة من مراحل معالجة جلسة الويب/HTTP اتصالًا منفصلًا. يتطلب الحفاظ على استمرارية الجلسة بين المراحل مُعرّف جلسة . يُضمّن مُعرّف الجلسة ضمن روابط صفحات الويب الديناميكية ليتم تمريره إلى CGI. يستخدم CGI بعد ذلك مُعرّف الجلسة لضمان استمرارية الجلسة بين مراحل المعالجة. إحدى مزايا استخدام اتصال واحد لكل مرحلة هي كفاءته العالية حتى مع الاتصالات ذات النطاق الترددي المنخفض (المودم).<A HREF><FORM>

تنفيذ البرمجيات

تُنفَّذ جلسات TCP عادةً في البرمجيات باستخدام عمليات فرعية و/أو تعدد الخيوط ، حيث تُنشأ عملية أو خيط جديد عند إنشاء الحاسوب لجلسة أو الانضمام إليها. أما جلسات HTTP، فلا تُنفَّذ عادةً باستخدام خيط واحد لكل جلسة، بل عن طريق قاعدة بيانات تحتوي على معلومات حول حالة كل جلسة. وتكمن ميزة استخدام عمليات أو خيوط متعددة في تبسيط البرمجيات، إذ يُمثِّل كل خيط نسخةً مستقلةً بسجلها الخاص ومتغيراتها المُغلَّفة. أما عيبها، فيتمثل في استهلاك موارد النظام بشكل كبير، واحتمالية انقطاع الجلسة عند إعادة تشغيل النظام.

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

جلسات الويب من جانب الخادم

تُعدّ جلسات جانب الخادم مفيدة وفعّالة، ولكن قد يصعب التعامل معها عند دمجها مع أنظمة موازنة الأحمال/التوافر العالي، كما أنها غير قابلة للاستخدام إطلاقًا في بعض الأنظمة المدمجة التي تفتقر إلى وحدة تخزين. يمكن حلّ مشكلة موازنة الأحمال باستخدام وحدة تخزين مشتركة أو بتطبيق اتصال إجباري بين كل عميل وخادم واحد في المجموعة، مع العلم أن هذا قد يؤثر سلبًا على كفاءة النظام وتوزيع الأحمال.

تتمثل إحدى طرق استخدام جلسات جانب الخادم في الأنظمة التي لا تحتوي على وحدات تخزين كبيرة في حجز جزء من ذاكرة الوصول العشوائي (RAM) لتخزين بيانات الجلسة. تُناسب هذه الطريقة الخوادم ذات العدد المحدود من العملاء (مثل أجهزة التوجيه أو نقاط الوصول التي لا تسمح بالوصول المتكرر أو المحظور لأكثر من عميل واحد في الوقت نفسه).

جلسات الويب من جانب العميل

تستخدم جلسات جانب العميل ملفات تعريف الارتباط وتقنيات التشفير للحفاظ على حالة التطبيق دون تخزين كميات كبيرة من البيانات على الخادم. عند عرض صفحة ويب ديناميكية، يرسل الخادم بيانات الحالة الحالية إلى العميل (متصفح الويب) على شكل ملف تعريف ارتباط. يحفظ العميل ملف تعريف الارتباط في الذاكرة أو على القرص. مع كل طلب لاحق، يُعيد العميل إرسال ملف تعريف الارتباط إلى الخادم، ويستخدم الخادم البيانات "لتذكر" حالة التطبيق لهذا العميل تحديدًا، ومن ثمّ يُنشئ استجابة مناسبة.

قد تنجح هذه الآلية في بعض السياقات؛ إلا أن البيانات المخزنة على جهاز العميل تكون عرضة للتلاعب من قِبل المستخدم أو البرامج التي لديها صلاحية الوصول إلى جهاز العميل. لاستخدام جلسات جانب العميل حيث تكون السرية وسلامة البيانات مطلوبة، يجب ضمان ما يلي:

  1. السرية: لا ينبغي لأي شيء آخر غير الخادم أن يكون قادراً على تفسير بيانات الجلسة.
  2. سلامة البيانات: لا ينبغي لأي شيء آخر غير الخادم أن يتلاعب ببيانات الجلسة (عن طريق الخطأ أو عن قصد).
  3. المصداقية: لا ينبغي لأي شيء آخر غير الخادم أن يكون قادراً على بدء جلسات صالحة.

ولتحقيق ذلك، يحتاج الخادم إلى تشفير بيانات الجلسة قبل إرسالها إلى العميل، ويجب منع تعديل هذه المعلومات من قبل أي طرف آخر عبر الوسائل المشفرة.

لا يُعدّ تبادل البيانات مع كل طلب عمليًا إلا عندما يكون حجم ملف تعريف الارتباط صغيرًا. في جوهر الأمر، تستبدل جلسات المستخدم مساحة تخزين الخادم بالنطاق الترددي الإضافي الذي يتطلبه كل طلب ويب. علاوة على ذلك، تحدّ متصفحات الويب من عدد وحجم ملفات تعريف الارتباط التي يمكن للموقع تخزينها. ولتحسين الكفاءة والسماح بتخزين المزيد من بيانات الجلسة، قد يضغط الخادم البيانات قبل إنشاء ملف تعريف الارتباط، ثم يفك ضغطها لاحقًا عند إرجاعه من قِبل المستخدم.

رمز جلسة HTTP

رمز الجلسة هو مُعرّف فريد يُنشأ ويُرسل من الخادم إلى العميل لتحديد جلسة التفاعل الحالية. عادةً ما يخزن العميل الرمز ويرسله كملف تعريف ارتباط HTTP ، أو يُرسله كمعامل في استعلامات GET أو POST. يكمن سبب استخدام رموز الجلسة في أن العميل لا يحتاج إلا إلى التعامل مع المُعرّف، حيث تُخزّن جميع بيانات الجلسة على الخادم (عادةً في قاعدة بيانات لا يملك العميل وصولاً مباشراً إليها) مرتبطة بهذا المُعرّف. من أمثلة الأسماء التي تستخدمها بعض لغات البرمجة عند تسمية ملف تعريف ارتباط HTTP الخاص بها: JSESSIONID ( JSP )، وPHPSESSID ( PHP )، وCGISESSID ( CGI )، وASPSESSIONID ( ASP ).

إدارة الجلسات

في مجال التفاعل بين الإنسان والحاسوب ، تعد إدارة الجلسات عملية تتبع نشاط المستخدم عبر جلسات التفاعل مع نظام الحاسوب .

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

إدارة جلسات سطح المكتب

مدير جلسات سطح المكتب هو برنامج يُستخدم لحفظ واستعادة جلسات سطح المكتب. جلسة سطح المكتب هي جميع النوافذ قيد التشغيل حاليًا ومحتوياتها. في أنظمة لينكس ، يتولى مدير جلسات X إدارة الجلسات . أما في أنظمة مايكروسوفت ويندوز ، فيتولى نظام إدارة الجلسات الفرعي (smss.exe) إدارة الجلسات؛ ويمكن توسيع وظائف جلسة المستخدم باستخدام تطبيقات خارجية مثل twinsplay .

إدارة جلسات المتصفح

تُعد إدارة الجلسات مفيدة بشكل خاص في متصفح الويب حيث يمكن للمستخدم حفظ جميع الصفحات والإعدادات المفتوحة واستعادتها في وقت لاحق أو على جهاز كمبيوتر مختلف (انظر قابلية نقل البيانات ).

للمساعدة في استعادة النظام أو التطبيق بعد تعطلهما، يمكن استعادة الصفحات والإعدادات عند التشغيل التالي. ومن أمثلة متصفحات الويب التي تدعم إدارة الجلسات: جوجل كروم ، وموزيلا فايرفوكس ، وإنترنت إكسبلورر ، وأومني ويب ، وأوبرا . وتُدار الجلسات عادةً باستخدام ملفات تعريف الارتباط (الكوكيز) .

إدارة جلسات خادم الويب

بروتوكول نقل النص التشعبي (HTTP) هو بروتوكول عديم الحالة. إدارة الجلسات هي التقنية التي يستخدمها مطورو الويب لجعل بروتوكول HTTP عديم الحالة يدعم حالة الجلسة. على سبيل المثال، بمجرد مصادقة المستخدم على خادم الويب، لا ينبغي أن يتسبب طلب HTTP التالي للمستخدم (GET أو POST) في مطالبة خادم الويب بحساب المستخدم وكلمة المرور مرة أخرى. لمناقشة الطرق المستخدمة لتحقيق ذلك، راجع ملف تعريف ارتباط HTTP ومعرّف الجلسة.

في الحالات التي تتطلب فيها عدة خوادم ويب مشاركة معلومات حالة الجلسة (كما هو شائع في بيئة المجموعات )، يجب مشاركة معلومات الجلسة بين عُقد المجموعة التي تُشغّل برامج خادم الويب. تشمل طرق مشاركة حالة الجلسة بين عُقد المجموعة ما يلي: بث معلومات الجلسة إلى عُقد الأعضاء (انظر JGroups كمثال على هذه التقنية)، ومشاركة معلومات الجلسة مع عقدة شريكة باستخدام الذاكرة المشتركة الموزعة أو محاكاة الذاكرة ، ومشاركة معلومات الجلسة بين العُقد باستخدام مقابس الشبكة، وتخزين معلومات الجلسة على نظام ملفات مشترك مثل نظام ملفات موزع أو نظام ملفات عالمي ، أو تخزين معلومات الجلسة خارج المجموعة في قاعدة بيانات .

إذا اعتُبرت معلومات الجلسة بيانات مؤقتة ومتقلبة، غير مطلوبة لضمان عدم إنكار المعاملات، ولا تحتوي على بيانات خاضعة لتدقيق الامتثال (في الولايات المتحدة، على سبيل المثال، انظر قانون قابلية نقل التأمين الصحي والمساءلة وقانون ساربينز-أوكسلي كمثالين على قانونين يستلزمان تدقيق الامتثال)، فيمكن استخدام أي طريقة لتخزين معلومات الجلسة. أما إذا كانت معلومات الجلسة خاضعة لتدقيق الامتثال، فينبغي مراعاة الطريقة المستخدمة لتخزين الجلسة ونسخها وتجميعها.

في بنية موجهة نحو الخدمة ، يمكن استخدام رسائل بروتوكول الوصول إلى الكائنات البسيط أو SOAP التي تم إنشاؤها باستخدام رسائل لغة الترميز القابلة للتوسيع ( XML ) بواسطة تطبيقات المستهلك لجعل خوادم الويب تقوم بإنشاء جلسات.

إدارة الجلسات عبر الرسائل النصية القصيرة

كما أن بروتوكول HTTP بروتوكول عديم الحالة ، كذلك هو الحال مع الرسائل النصية القصيرة (SMS) . مع ازدياد قابلية تشغيل الرسائل النصية القصيرة عبر الشبكات المتنافسة عام 1999، [ 2 ] وبدء انتشارها لتصبح وسيلة اتصال عالمية واسعة الانتشار، [ 3 ] أبدت العديد من المؤسسات اهتمامًا باستخدام قناة الرسائل النصية القصيرة لأغراض تجارية. لم تتطلب الخدمات الأولية إدارة الجلسات نظرًا لكونها اتصالات أحادية الاتجاه (على سبيل المثال، في عام 2000، تم تقديم أول خدمة إخبارية عبر الهاتف المحمول من خلال الرسائل النصية القصيرة في فنلندا ). اليوم، يُشار إلى هذه التطبيقات باسم مراسلة التطبيقات إلى النظير (A2P) تمييزًا لها عن مراسلة النظير إلى النظير (P2P) . تطلب تطوير تطبيقات المؤسسات التفاعلية إدارة الجلسات، ولكن نظرًا لأن الرسائل النصية القصيرة بروتوكول عديم الحالة وفقًا لمعايير GSM، [ 4 ] فقد تم التحكم في التطبيقات المبكرة من جانب العميل من خلال قيام المستخدمين النهائيين بإدخال الأوامر ومعرفات الخدمة يدويًا.

انظر أيضاً

مراجع

  1. بروتوكول موجه نحو الجلسات وبروتوكول موجه نحو الجلسات
  2. إرشادات المراسلة بين شركات الاتصالات (ملف PDF) ، CTIA ، تم الاطلاع عليها بتاريخ 2018-06-02
  3. رسالة عيد ميلاد سعيد! بي بي سي نيوز، النسخة العالمية، http://news.bbc.co.uk/2/hi/uk_news/2538083.stm 3 ديسمبر 2002.
  4. وثيقة GSM رقم 28/85 "الخدمات والمرافق التي سيتم توفيرها في نظام GSM" مراجعة 2، يونيو 1985