سؤال

لدينا مناقشة مشتركة (ولكن ودية) بين زملاء العمل حول وقت حياة جلسة SSL الأساسية في اتصال HTTPS.

عندما أقوم بإنشاء اتصال HTTPS بخادم باستخدام متصفح عادي، يقوم SSL الأساسي بإنشاء جلسة (بما في ذلك سر مشترك) باستخدام تشفير غير متماثل، يتم تشفير بقية الاتصالات باستخدام تشفير متماثل (أسرع).

السؤال هو: في طلبات HTTPS التالية (انقر فوق ارتباط) إلى نفس الخادم، هي جلسة SSL القديمة المستخدمة مرة أخرى، وتجنب النفقات العامة للتشفير غير المتماثل لإنشاء مفتاح جلسة؟ أو هو مصافحة SSL المشفرة غير المتماثلة غير المتماثلة لإنشاء جلسة SSL ضرورية؟

أو للكلمة بشكل مختلف: هل تبقى جلسة SSL حية بين طلبات HTTPS، أو هل تنتهي بنهاية طلب HTTPS؟

نظرا لأننا مجموعة من NitPicks هنا، فسيكون هناك إشارة إلى بعض المصدر المسموح به.

هل كانت مفيدة؟

المحلول

انظر القسم 2.2 من http://www.ietf.org/rfc/rfc2818.txt. والقسم 8.1 من http://www.ietf.org/rfc/rfc2616.txt.

في جوهرها، يجب الحفاظ على جلسة SSL أثناء حافظ العميل على اتصال مستمر.

لمزيد من المعلومات حول تنفيذ الاتصالات المستمرة في المتصفحات الشعبية http://en.wikipedia.org/wiki/http_persistent_connection#use_in_web_browsers.

نصائح أخرى

اختبار هذا بالكروم:

انتقل إلى https://www.americanexpress.com.. وبعد عروض Netstat:

$ netstat -n -p tcp|grep 184.86.149.155
tcp4       0      0  10.177.78.58.50311     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50310     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50309     184.86.149.155.443     ESTABLISHED

عند التنقل إلى روابط أخرى على الموقع الإلكتروني، تظهر Netstat:

$ netstat -n -p tcp|grep 184.86.149.155
tcp4       0      0  10.177.78.58.50311     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50310     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50309     184.86.149.155.443     ESTABLISHED

تم الاحتفاظ بالجلسة على قيد الحياة. عندما أغلقت علامة التبويب المتصفح، وأعد فتح علامة التبويب، تم فتح اتصال آخر:

$ netstat -n -p tcp|grep 184.86.149.155
tcp4       0      0  10.177.78.58.50398     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50311     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50310     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50309     184.86.149.155.443     ESTABLISHED

يبدو أن المتصفحات الحديثة تستخدم نفس مهلة الاحتفاظ بالحياة مثل HTTP. يمكن عرض هذه المهلة هنا:

http://gabenell.blogspot.com/2010/11/connection-keep-alive-timeouts-for.html.

إذا كان متصفحك يدعم عملية استئناف الجلسة وقد تم تخزين الخادم مخزئا بالجلسة، فقد تتمكن من متابعة جلسة بين الاتصالات، يدعم Gnutls هذا ويمكنك رؤية عرض تجريبي هنا:

https://test.gnutls.org:5556/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top