الجلسات الثابتة
تطلب الجلسة الثابتة من خدمة الخوادم الوكيلة الاحتفاظ بعنوان IP واحد للخروج للطلبات المرتبطة. ويمكن لتطبيقك فتح الصفحات وإرسال البيانات وتلقي النتيجة عبر ذلك العنوان ما دام التخصيص ساريًا ونقطة الخروج متاحة. وعندما تنتهي المهمة، يستطيع تطبيقك بدء جلسة منفصلة للمهمة التالية.
هذا عادةً وضع للوصول إلى مجموعة عناوين متناوبة. وتتناول مقالة الوكلاء الثابتون والوكلاء بعناوين متناوبة المقارنة الأوسع. أما هنا فالسؤال هو كيفية الاحتفاظ بعنوان لمهمة واحدة، ومدة ذلك التخصيص، وما قد يقطعه.
كيف تحتفظ الخدمة بعنوان IP المختار
تحتاج الخدمة إلى التعرف على الاتصالات التي تنتمي إلى المهمة نفسها. ومن الطرق الشائعة وضع معرّف جلسة في إعدادات الوكيل. وعند أول اتصال، تختار الخدمة نقطة خروج وتربطها بذلك المعرّف. وتستخدم الاتصالات اللاحقة ذات إعدادات الجلسة نفسها نقطة الخروج المخصصة ما دامت الجلسة نشطة.
مثلًا، يستخدم اختبار متصفح اسم الجلسة task1. ويحصل اتصاله الأول على عنوان IP التوضيحي للخروج 198.51.100.27. ويستخدم فتح الصفحة التالية وإرسال نموذج عبر التخصيص الساري نفسه ذلك العنوان أيضًا. فالاسم يحدد التخصيص، ولا يرمّز عنوان IP أو يخصصه بصورة دائمة.
قد يُضاف معرّف الجلسة إلى اسم مستخدم الوكيل، أو يُختار عبر API، أو يمثله منفذ مضبوط في الإعدادات. وتوفر بعض الخدمات جلسة افتراضية أيضًا دون اسم منفصل. وهذه طرق مختلفة لإدارة التخصيص، لذا لا توجد صيغة موحدة لاسم المستخدم أو رقم منفذ موحد للوصول الثابت خلال جلسة.
يمكن للجلسة الثابتة أن تشمل اتصالات شبكة متعددة. وهذا يختلف عن مجرد إعادة استخدام اتصال مفتوح واحد: فالطلبات داخل اتصال TCP عادي واحد تحتفظ أصلًا بعنوان IP للخروج نفسه. وللتأكد من احتفاظ الجلسة بالعنوان عبر الاتصالات، فإن المشاهدة المفيدة هي ما يحدث عند فتح اتصال جديد بإعدادات الجلسة نفسها.
متى تحتاج عدة طلبات إلى عنوان IP واحد
اختبار المتصفح متعدد الخطوات مثال واضح. فقد يسجل الدخول ويفتح صفحة إعدادات ويرسل تغييرًا ويتحقق من النتيجة. ويزيل إبقاء عنوان IP المصدر ثابتًا تغييرًا يمكن تجنبه أثناء الاختبار، خصوصًا إذا استخدم الموقع العنوان كأحد فحوص جلسته.
قد يعتمد اختبار تسوق أو حجز أيضًا على تجربة إقليمية متسقة. فيبحث التطبيق ويختار خيارًا ويفحص المرحلة التالية عبر نقطة الخروج نفسها. ويساعد ذلك على اتساق موقع الشبكة بين الخطوات، مع أن الموقع قد يستخدم كذلك إعدادات الحساب أو تفاصيل التسليم أو ملفات تعريف الارتباط ليقرر ما يعرضه.
ومن الحالات الأخرى تسلسل استدعاءات API تتوقع فيه الخدمة المستهدفة إجراءات مترابطة من عنوان مصدر ثابت. وينبغي أن يغطي التخصيص التسلسل كله، بما في ذلك التوقفات وإعادة المحاولات. أما البحث في صفحات عامة غير مترابطة فلا يحتاج بالضرورة إلى عنوان IP واحد. ويفيد الاحتفاظ بعنوان عندما تهم الاستمرارية للمهمة؛ لكنه لا يحسن سمعة العنوان بحد ذاته ولا يضمن قبول الموقع للطلب.
جلسة الوكيل لا تحفظ تسجيل الدخول إلى الموقع
تتحكم خدمة الوكلاء بعنوان الخروج. أما الموقع فيتحكم بجلسته الخاصة: حالة تسجيل دخولك أو سلة التسوق أو تقدمك في نموذج. وعادةً يحمل المتصفح أو عميل HTTP تلك الحالة باستخدام ملفات تعريف الارتباط أو رموز المصادقة. وقد يستخدم النظامان كلمة جلسة، لكن كلًّا منهما يحتفظ بمعلومات مختلفة.
وهذا يعني أن تسجيل الدخول قد ينتهي مع بقاء عنوان IP للخروج دون تغيير. وقد يؤدي مسح ملفات تعريف الارتباط أيضًا إلى زوال تعرف الموقع على المستخدم دون التأثير في تخصيص الوكيل. والعكس ممكن كذلك: فقد يقبل الموقع تسجيل دخول ساريًا بعد تغيير IP. ويعتمد سلوكه على قواعده الخاصة.
غالبًا يحفظ كائن جلسة في مكتبة HTTP ملفات تعريف الارتباط ويعيد استخدام الاتصالات. ولا يؤدي إنشاء ذلك الكائن تلقائيًا إلى تفعيل جلسة ثابتة لدى خدمة الوكلاء. ولإتمام سير العمل، يجب على التطبيق الاحتفاظ بحالة الموقع وتخصيص الوكيل المقصود معًا. وتظل ملفات متصفح منفصلة أو حالات عميل معزولة مطلوبة عندما يجب ألا تشترك المهام المختلفة في ملفات تعريف الارتباط.
ما الذي تعنيه مدة الجلسة بالفعل
يمكن وصف مؤقتين مختلفين بمدة الجلسة. فيحدد العمر الثابت مدة وجود التخصيص منذ نقطة بدايته. وتحدد مهلة الخمول مدة التوقف بعد آخر طلب مؤهل. وقد تعيد الطلبات الجديدة تشغيل مؤقت الخمول دون تمديد عمر ثابت منفصل.
| الحد | ما الذي يبدأ العد التنازلي | ما الذي يفعله طلب آخر |
|---|---|---|
| عمر ثابت | إنشاء التخصيص أو استخدامه لأول مرة، وفق تعريف الخدمة | يبقي وقت الانتهاء الأصلي دون تغيير |
| مهلة الخمول | آخر طلب أو نشاط آخر تعترف به الخدمة | يعيد تشغيل العد التنازلي للخمول عندما يُعد الطلب نشاطًا |
لنأخذ جلستين توضيحيتين بحد عشر دقائق. تبدأ كلتاهما الساعة 14:00، وتتلقى طلبًا آخر الساعة 14:08. مع العمر الثابت يبقى الموعد النهائي 14:10. ومع مهلة الخمول ينقل ذلك الطلب موعد انتهاء الخمول إلى 14:18. لذلك قد تنتج المدة المعلنة نفسها سلوكًا مختلفًا جدًا أثناء مهمة نشطة.
يمكن للخدمة تطبيق الحدين معًا. وحينها ينتهي التخصيص عند بلوغ أي منهما. وقد يختلف الإعداد الافتراضي المعتاد عن أطول مدة متاحة في الإعدادات. وقد يمنع استمرار حركة البيانات انتهاء مهلة الخمول، لكنه لا يزيل عمرًا أقصى منفصلًا.
ينهي انتهاء المدة تخصيص نقطة الخروج القديمة. وقد يحصل اتصال لاحق على عنوان آخر حتى مع اسم الجلسة نفسه. وقد يُسمح لاتصال مفتوح بالإكمال أو قد يُغلق، بحسب الخدمة. ولا ينقل المؤقت تبادل TCP غير مكتمل إلى عنوان IP مختلف.
اختر مدة تشمل المهمة كلها والاستجابات البطيئة والتوقفات المتوقعة. فبدء سير عمل جديد قرب نهاية تخصيص أقدم يترك وقتًا أقل مما توحي به المدة المضبوطة. وتبقى الطلبات الهادفة فقط إلى إبقاء جلسة خاملة نشطة حركة بيانات فعلية، وقد تُحتسب من حصة الطلبات أو البيانات لدى الخدمة.
فصل المهام المتوازية
عندما تحتاج كل مهمة مستقلة إلى عنوان ثابت، امنح كل مهمة معرّف جلستها الخاص واحتفظ به خلال خطواتها. وينبغي للعملية التي تحمل الصفحة التالية إعادة استخدام جلسة المهمة، بدل توليد اسم جديد لكل طلب. كما ينبغي ألا تنتقل إعادة المحاولة ضمن تلك المهمة بصمت إلى إعدادات وكيل غير مرتبطة.
افترض تشغيل اختبارَي متصفح في الوقت نفسه. يستخدم الأول task1 والثاني task2، ويحتفظ كل منهما بملفات تعريف الارتباط الخاصة به. ومنح الاختبارين اسم الجلسة نفسه يطلب من الخدمة مشاركة تخصيص حين تتطابق الإعدادات الأخرى أيضًا. ولا ينشئ فتح علامة تبويب عادية جديدة وحده إعدادات وكيل منفصلة أو مخزن ملفات تعريف ارتباط منفصلًا.
تطلب المعرّفات المختلفة تخصيصات منفصلة، لكنها لا تضمن عمومًا عناوين IP مختلفة للخروج. وما إذا كانت الخدمة تعد بعناوين متميزة خاصية منفصلة للمنتج. كما لا تجعل الجلسة الثابتة نقطة الخروج حصرية لحسابك: فقد يستخدم عملاء آخرون العنوان إذا كان ضمن مجموعة مشتركة.
حيث يكون ذلك مدعومًا، تستطيع عدة اتصالات استخدام الجلسة نفسها في الوقت نفسه. وتتشارك نقطة خروجها وتظل خاضعة لحدود الاتصالات والاستخدام في الحساب. ولا تزيد أسماء الجلسات الإضافية هذه الحدود. وقبل التشغيل الكامل، تحقق من عدد المهام المتوازية وعدد الاتصالات التي تفتحها كل مهمة.
لماذا قد يتغير العنوان أبكر مما تتوقع
لا يستطيع مؤقت ساري المفعول إبقاء نقطة خروج غير متاحة تعمل. فقد ينقطع جهاز سكني عن الشبكة، أو يحصل اتصال محمول على عنوان IP عام مختلف، أو يتعذر الوصول إلى خادم. وتصف المدة المطلوبة قواعد توقيت التخصيص، لكنها لا تضمن وحدها بقاء نقطة الخروج الأصلية متاحة.
توجد استجابتان محتملتان لفقدان نقطة الخروج. قد تختار الخدمة بديلًا لتستمر الطلبات اللاحقة، أو تعيد خطأً وتحافظ على اشتراط استخدام نقطة الخروج الأصلية. وتتيح بعض المنتجات الاختيار. وتعطي الاستعاضة التلقائية الأولوية لإنشاء اتصال آخر، بينما يتيح الخطأ للتطبيق التوقف قبل المتابعة من عنوان مختلف.
لا يثبت بقاء الاسم نفسه أن بقية إعدادات الجلسة لم تتغير. فقد ينشئ الانتقال إلى بوابة أخرى أو تغيير مرشح البلد تخصيصًا مختلفًا. ويعتمد النطاق المعني على الخدمة: فقد تنتمي الجلسة إلى حساب أو منتج أو خادم دخول معين، بدل إتاحتها في كل مكان بالاسم نفسه.
إذا تغير العنوان أثناء مهمة، يتعلق القرار التالي بحالة تلك المهمة. فقد يكون تكرار خطوة للقراءة فقط آمنًا. أما إجراء أرسل طلب شراء أو غيّر بيانات فيحتاج إلى عناية أكبر: فضياع الاستجابة لا يثبت فشل الإجراء. حدد ما اكتمل قبل البدء مجددًا أو المتابعة عبر نقطة خروج أخرى.
متى تكفي الاستمرارية المؤقتة
تناسب الجلسة الثابتة مهمة واضحة البداية والنهاية تحتاج إلى عنوان IP واحد خلال تشغيلها فقط. اختبر ثلاثة أمور: بقاء التخصيص خلال التوقفات المتوقعة، واستمراره طوال المهمة، وتعامله مع فقدان نقطة الخروج كما هو مطلوب. وضمّن الاختبار اتصالًا جديدًا بعد توقف معتاد؛ فالنشاط داخل اتصال مفتوح قائم لا يثبت بقاء التخصيص للاتصال التالي.
إذا وجب أن يبقى العنوان نفسه في قائمة سماح خادم، أو يتاح مجددًا غدًا، فاستخدم خدمة توفر تخصيصًا ثابتًا لهذا الغرض. ولا تستعيد إعادة استخدام اسم جلسة ثابتة بعد انتهائها عنوانها السابق بصورة موثوقة. فالاحتفاظ المؤقت وعنوان IP المخصص طويل الأمد يلبيان متطلبات استمرارية مختلفة.
