ما هي العيوب الرئيسية لتطوير الويب القائم على CGI-BIN؟

StackOverflow https://stackoverflow.com/questions/424839

  •  05-07-2019
  •  | 
  •  

سؤال

لقد كنت محظوظًا بما فيه الكفاية لعدم القيام بأي تطوير ويب يعتمد على cgi-bin .cgi.ولكن بشكل عام، لا يبدو أن أولئك الذين فعلوا ذلك "يفوتوا" تلك الأيام.

يواجه أحد المشاريع التي انضممت إليها مؤخرًا مشكلة في الأداء عند التعامل مع الصفحات التي تحتاج إلى الاتصال بنظام قديم يحتوي على واجهة برمجة التطبيقات المستندة إلى CGI-BIN.هذا النظام هو كوجنوس 7.

التعليقات التي تلقيتها حتى الآن هي أن "COGNOS بطيء" لكن آخرين أبلغوا عن نجاح كبير مع COGNOS، وأعتقد أن الأمر يتعلق أكثر بالوصول عبر CGI-BIN وليس بأداء COGNOS في حد ذاته.

بعد كل ما سبق، ما هي المشكلات الرئيسية التي جعلت تطوير الويب المعتمد على CGI-BIN غير فعال، وصعبًا، وما إلى ذلك...

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

المحلول

المشكلة المعمارية الأساسية في الأنظمة المستندة إلى CGI-BIN هي أن كل طلب HTTP يتطلب من الخادم بدء عملية جديدة.ويؤثر هذا على الأداء بعدة طرق:

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

نصائح أخرى

وبالنسبة لي أكبر ألم مع CGI هو أن برامج CGI بلدي يجب أن "معرفة" كل شيء في كل مرة بدء التشغيل. إذا كانت تعمل باستمرار من شأنه أن لا يكون الأمر كذلك، بطبيعة الحال ...

والعيب الرئيسي، IMHO، كان نفس العيب أن جميع الترميز المستوى الأدنى له - بدلا من البرمجة في مجال المشكلة، كان عليك أن البرنامج في مجال التنفيذ. و، في جوهرها، والنتيجة النهائية متطابقة - تم إرسال استجابة HTTP إلى العميل بناء على طلب HTTP. ومع ذلك، والحصول على إلى هذه النقطة كان هناك الكثير اصعب من وجهة نظر البرمجة.

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

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