तुलना चार्ट
तुलना के लिए आधार | सीजीआई | सर्वलेट |
---|---|---|
बुनियादी | कार्यक्रम मूल ओएस में लिखे गए हैं। | जावा का उपयोग करके नियोजित कार्यक्रम। |
मंच पर निर्भरता | मंच पर निर्भर | प्लेटफॉर्म पर निर्भर नहीं करता है |
प्रक्रिया का निर्माण | प्रत्येक क्लाइंट अनुरोध अपनी स्वयं की प्रक्रिया बनाता है। | क्लाइंट अनुरोध के प्रकार के आधार पर प्रक्रियाएं बनाई जाती हैं। |
स्क्रिप्ट का रूपांतरण | निष्पादनयोग्य (सर्वर ओएस के मूल निवासी) के रूप में प्रस्तुत करें। | जावा बाइटकोड के लिए संकलित। |
इससे संचालित | अलग प्रक्रिया | JVM |
सुरक्षा | हमलों के लिए अधिक कमजोर। | हमलों का विरोध कर सकते हैं। |
गति | और धीमा | और तेज |
स्क्रिप्ट का प्रसंस्करण | प्रत्यक्ष | लिपियों को चलाने से पहले इसका अनुवाद और संकलन किया जाता है। |
पोर्टेबिलिटी | पोर्ट नहीं किया जा सकता | पोर्टेबल |
CGI की परिभाषा
CGI (कॉमन गेटवे इंटरफ़ेस) एक इंटरफ़ेस है जो इंटरेक्टिव वेब पेजों के निष्पादन को सक्षम करने के लिए एक वेब सर्वर पर बाहरी कार्यक्रमों (CGI लिपियों) को संभालता है। CGI को 1993 में NCSA (National Center for Supercomputing Applications) द्वारा विकसित किया गया था। यह सर्वर साइड में रहता है और वेब ब्राउज़र को वेब सर्वर पर प्रोग्राम के साथ इंटरैक्ट करने में सक्षम बनाता है। उदाहरण के लिए, यदि कोई वेब पेज एक डेटाबेस या उपयोगकर्ता से पूछताछ करता है, तो उस समय फॉर्म की जानकारी सर्वर को सीजीआई स्क्रिप्ट के लिए भेज दी जाती है। सर्वर उस सूचना को GET या POST में दो तरह से किसी एप्लिकेशन को पास करता है, फिर एप्लिकेशन सर्वर पर वापस ब्राउज़र पर प्रतिक्रिया करता है। इस तरह, ब्राउज़रों को उपयोगकर्ता के लिए कुछ परिणाम मिलते हैं।
CGI स्क्रिप्ट्स को चलाने के लिए और उन विशेष कार्यक्रमों के लिए सर्वर को परिणाम प्रदान करने के लिए एक विधि का वर्णन करने के लिए CGI एक वजीफा है। CGI का कार्य ब्राउज़र से प्राप्त जानकारी को स्कैन करना और एक उचित प्रतिक्रिया उत्पन्न करना है, कार्य पूरा होने के बाद CGI स्क्रिप्ट समाप्त हो जाती है। कॉमन गेटवे इंटरफेस में, आम यह दर्शाता है कि यह किसी भी ऑपरेटिंग सिस्टम या प्रोग्रामिंग भाषा में ठीक काम कर सकता है।
पूर्व में, UNIX शेल स्क्रिप्ट और PERL का उपयोग CGI कार्यक्रमों को लिखने के लिए किया गया था, यही कारण है कि इसे CGI "स्क्रिप्ट" नाम दिया गया है। लेकिन, अब C, C ++, Perl, Visual Basic या Python जैसी किसी भी भाषा का इस्तेमाल किया जा सकता है। हालांकि, CGI संभावित सुरक्षा समस्याओं का नेतृत्व कर सकता है, क्योंकि वेब सर्वर कुछ विशिष्ट निर्देशिकाओं में CGI कार्यक्रमों के रूप में निष्पादन योग्य फ़ाइलों का भी इलाज कर सकता है। CGI प्रत्येक क्लाइंट अनुरोध को एक अलग प्रक्रिया द्वारा हैंडल करता है जो सर्वर लोड को धीमा बनाता है।
सर्वलेट की परिभाषा
एक सर्वलेट एक जावा-आधारित वेब घटक है जो एक मध्यवर्ती कार्यक्रम के रूप में कार्य करता है जो वेब ब्राउज़र या HTTP क्लाइंट और HTTP सर्वर के बीच बातचीत की सुविधा देता है। सीजीआई के समान, वेब पेज रूपों द्वारा जानकारी इकट्ठा करने, डेटाबेस से रिकॉर्ड दिखाने और एक कंटेनर की मदद से गतिशील वेब पेज उत्पन्न करने के लिए भी सर्वलेट्स का उपयोग किया जा सकता है। सर्वलेट एक जावा वर्ग है जो प्लेटफ़ॉर्म पर निर्भर नहीं करता है और आगे बायटेकोड पर संकलित किया जाता है जो प्लेटफ़ॉर्म-स्वतंत्र है। प्लेटफ़ॉर्म-न्यूट्रल बायटेकोड को जावा वेब सर्वर द्वारा गतिशील रूप से संग्रहीत और निष्पादित किया जा सकता है। सर्वलेट एप्लेट, डेटाबेस या अन्य डेटाबेस कार्यक्रमों के बीच संबंध स्थापित करने के लिए सॉकेट और आरएमआई तंत्र का उपयोग करता है।
सर्वलेट कंटेनर वेब सर्वर का एक हिस्सा है जो HTTP और HTTPS प्रोटोकॉल का समर्थन करता है । यह वेब क्लाइंट के साथ बातचीत को सक्षम करने के लिए HTTP और HTTPS प्रोटोकॉल का उपयोग करके अनुरोध / प्रतिक्रिया विधि को नियोजित करता है। CGI के विपरीत, सर्वलेट वेब सर्वर के एड्रेस स्पेस के अंदर चलता है, जहाँ प्रत्येक क्लाइंट को अलग से इलाज करने की आवश्यकता नहीं होती है। सर्वलेट में, सर्वर पर संसाधनों की सुरक्षा के लिए सर्वर पर बाधाओं का एक संग्रह लागू किया जाता है।
CGI और सर्वलेट के बीच मुख्य अंतर
- CGI लिपियों को देशी OS में लिखा जाता है और इसे निश्चित निर्देशिका पर संग्रहीत किया जाता है। दूसरी ओर, सर्वलेट कार्यक्रमों को आमतौर पर जावा में लिखा जाता है जिसे जावा बाइटकोड में संकलित किया जाता है और जेवीएम में निष्पादित किया जाता है।
- CGI प्लेटफ़ॉर्म विशिष्ट है जो ऑपरेटिंग सिस्टम के बीच स्विच करना कठिन बनाता है। के रूप में, सर्वलेट्स को किसी भी ऑपरेटिंग सिस्टम में क्रियान्वित किया जा सकता है जिसने JVM स्थापित किया है, इसलिए यह प्लेटफ़ॉर्म-स्वतंत्र है।
- सीजीआई में प्रत्येक आने वाले ग्राहक अनुरोध सर्वलेट के दौरान एक अलग प्रक्रिया उत्पन्न कर सकते हैं, प्रक्रियाएं अनावश्यक रूप से नहीं बनाई जाती हैं और जेवीएम की मेमोरी स्पेस को साझा करती हैं।
- CGI स्क्रिप्ट निष्पादन योग्य प्रोग्राम हैं जो सर्वर के मूल OS में लिखे गए हैं। इसके विपरीत, जेवीएम पर चलने वाले जावा बाइटकोड को सर्वलेट्स संकलित किए जाते हैं।
- सर्वलेट CGI की तुलना में अधिक सुरक्षित है क्योंकि यह जावा का उपयोग करता है।
- सर्वलेट की गति, प्रदर्शन और दक्षता CGI से बेहतर है।
- CGI स्क्रिप्ट को सीधे संसाधित किया जा सकता है। इसके विपरीत, सर्वलेट पहले प्रोग्राम का अनुवाद और संकलन करता है फिर उसे प्रोसेस करता है।
- जब पोर्टेबिलिटी सर्वलेट की बात आती है तो पोर्टेबल है जबकि सीजीआई नहीं है।
निष्कर्ष
CGI और सर्वलेट एक ही तरीके से काम करते हैं लेकिन सर्वलेट का उपयोग CGI के लिए फायदेमंद है क्योंकि सर्वलेट तेज, सुरक्षित, प्लेटफ़ॉर्म स्वतंत्र, आसानी से विकसित, कई API के माध्यम से सुलभ और विभिन्न वेब सर्वर द्वारा समर्थित है।