सीजीआई और सर्वलेट के बीच का अंतर

Anonim

सीजीआई बनाम सर्वलेट

सीजीआई (कॉमन गेटवे इंटरफ़ेस) गतिशील सामग्री वाले उपयोगकर्ताओं को प्रदान करने का पहला प्रयास है। यह उपयोगकर्ताओं को एक प्रोग्राम निष्पादित करने की अनुमति देता है जो सर्वर में मौजूद है जो डेटा को संसाधित करने के लिए और संबंधित सामग्री का उत्पादन करने के लिए डेटाबेस का उपयोग भी करता है। चूंकि ये प्रोग्राम हैं, इसलिए वे मूल ऑपरेटिंग सिस्टम में लिखे गए हैं और फिर एक विशिष्ट निर्देशिका में संग्रहीत हैं। सर्वलेट जावा का कार्यान्वयन है, जिसका उद्देश्य सीजीआई के रूप में एक ही सेवा प्रदान करना है, लेकिन मूल ऑपरेटिंग सिस्टम में संकलित कार्यक्रमों के बजाय, यह जावा बाइटकोड में संकलित होता है जो तब जावा वर्चुअल मशीन में चलाया जाता है। हालांकि जावा प्रोग्राम को मूल कोड में संकलित किया जा सकता है, फिर भी वे जावा बाइटकोड में संकलित करना पसंद करते हैं।

सीजीआई पर सर्विसलेट्स का पहला लाभ इसके मंच स्वतंत्रता में है। Servlets किसी भी ऑपरेटिंग सिस्टम पर तब तक चल सकते हैं जब तक कि JVM इंस्टॉल हो, जिसका मतलब है कि आप ऑपरेटिंग सिस्टम को स्विच करना चुनते हैं, भले ही आपको कोई समस्या न हो। सीजीआई के साथ, ऑपरेटिंग सिस्टम स्विचन एक कठिन और श्रमसाध्य प्रक्रिया है क्योंकि आपको नए ऑपरेटिंग सिस्टम में प्रोग्राम को फिर से संगठित करना होगा।

-2 ->

चूंकि आप सीजीआई में स्वतंत्र प्रोग्राम चला रहे हैं, जब वे क्रियान्वित होते हैं, तब वे अपनी स्वयं की प्रक्रिया बनाते हैं, ऐसा कुछ जो सर्वलेट्स के साथ नहीं होता है क्योंकि वे सिर्फ जेवीएम के मेमोरी स्पेस में हिस्सा लेते हैं। यह ओवरहेड से संबंधित समस्याओं को जन्म दे सकता है, खासकर जब आप उपयोगकर्ताओं की संख्या में तेजी से बढ़ते हैं यह भेद्यता के मुद्दों को भी बनाता है क्योंकि कार्यक्रम सर्वर पर चलने के बाद किसी भी तरह से नियंत्रित नहीं होता है।

बाद में, सीजीआई का उपयोग करते समय अधिक आम विधि स्क्रिप्ट्स के माध्यम से है इससे प्रोग्राम बनाने में आवश्यक समय कम होता है और आमतौर पर अधिक सुरक्षित होते हैं। सीजीआई के साथ, आप तुरंत स्क्रिप्ट चला सकते हैं, जबकि सर्वलेट्स, आपको जावा में स्क्रिप्ट का अनुवाद करना होगा और इसे एक सर्वलेट में संकलित करना होगा जो लोडिंग समय में थोड़ा सा जोड़ता है।

सारांश:

1 सीजीआई आम तौर पर निष्पादन योग्य होते हैं जो सर्वर के ऑपरेटिंग सिस्टम के मूल होते हैं, हालाँकि सर्विसलेट को मूल ओएस में भी संकलित किया जा सकता है जिसे इसे जावा बाइटकोड के साथ संकलित किया जा सकता है जो कि उसके बाद JVM

2 पर चलाया जाता है सीजीआई कार्यक्रम प्लेटफॉर्म पर निर्भर होते हैं जबकि सर्वलेट प्लेटफ़ॉर्म स्वतंत्र हैं

3 सीजीआई प्रोग्राम कंप्यूटर पर अलग-अलग प्रक्रियाओं के रूप में चलते हैं जबकि सर्विलेट JVM

4 पर चलते हैं। सीजीआई सर्वलेट्स से अधिक

5 से अधिक हमले के लिए कमजोर हो सकता है सीजीआई सीधे लिपियों को संसाधित कर सकती है, जब इसे अनुवादित और संकलित करने की आवश्यकता है इससे पहले कि इसे सर्वोलेट के रूप में चलाया जा सकता है