CGI एक कॉमन गेटवे इंटरफ़ेस है। जैसा कि नाम से पता चलता है, यह सब कुछ के लिए एक "सामान्य" गेटवे इंटरफ़ेस है। यह नाम से इतना तुच्छ और भोला है। मुझे लगता है कि मुझे यह समझ में आया और मैंने हर बार इस शब्द का सामना किया। लेकिन स्पष्ट रूप से, मैंने नहीं किया। मैं अभी भी असमंजस में हूँ।
मैं वेब विकास अनुभव के साथ एक PHP प्रोग्रामर हूँ।
उपयोगकर्ता --- (क्लाइंट) पेज के लिए अनुरोध ---> वेबसर्वर (- एम्बेडेड PHP दुभाषिया) ----> सर्वर साइड (PHP) स्क्रिप्ट ---> MySQL सर्वर।
अब मेरा PHP स्क्रिप्ट MySQL सर्वर और MATLAB सर्वर और कुछ अन्य सर्वर से परिणाम प्राप्त कर सकते हैं।
तो, अब PHP स्क्रिप्ट CGI है? क्योंकि वेबसर्वर और अन्य सभी सर्वरों के बीच इसका इंटरफ़ेस? मुझे नहीं पता। कभी-कभी वे सीजीआई, एक प्रौद्योगिकी और अन्य बार वे सीजीआई को एक कार्यक्रम या कुछ अन्य सर्वर कहते हैं।
वास्तव में CGI क्या है?
क्या बड़ी बात है
/cgi-bin/*.cgi
? इससे क्या हो रहा है? मुझे नहीं पता कि इसcgi-bin
निर्देशिका के लिए सर्वर पर क्या है । मुझे नहीं पता कि उनके पास * .cgi एक्सटेंशन क्यों हैं।पर्ल हमेशा रास्ते में क्यों आता है CGI और पर्ल (भाषा)। मुझे यह भी पता नहीं है कि इन दोनों के साथ क्या हो रहा है। लगभग हर समय मैं इन दोनों को "सीजीआई और पर्ल" के संयोजन में सुनता रहता हूं। यह पुस्तक पर्ल के साथ एक और महान उदाहरण CGI प्रोग्रामिंग है । क्यों नहीं "CGI PHP / JSP / ASP के साथ प्रोग्रामिंग"? मैंने ऐसी चीजें कभी नहीं देखीं।
सी में सीजीआई प्रोग्रामिंग , मुझे बहुत भ्रमित करता है। " C में " ?? गंभीरता से ?? मैं नहीं जानता कि मैं क्या कहूं। मैं ज़रा उलझन में हूँ। " C में " ?? इससे सब कुछ बदल जाता है। कार्यक्रम को संकलित करने और निष्पादित करने की आवश्यकता है। यह वेब प्रोग्रामिंग के बारे में मेरे विचार को पूरी तरह से बदल देता है। मैं कब संकलन करूं? प्रोग्राम को कैसे निष्पादित किया जाता है (क्योंकि यह एक मशीन कोड होगा, इसलिए इसे एक स्वतंत्र प्रक्रिया के रूप में निष्पादित करना होगा)। यह वेब सर्वर के साथ कैसे संवाद करता है? भारतीय दंड संहिता? और सॉकेट प्रोग्रामिंग का उपयोग करते हुए सभी सर्वर (मेरे उदाहरण MATLAB और MySQL में) के साथ इंटरफेस? मैं हार गया हूं!!
लोगों का कहना है कि CGI पदावनत है और अब उपयोग में नहीं है। ऐसा क्या? लेटेस्ट अपडेट क्या है?
एक बार, मैं एक ऐसी स्थिति में भाग गया, जहाँ मुझे वेब सर्वर (Apache HTTPD) को HTTP PUT अनुरोध देना पड़ा। इसकी एक लंबी पीठ है। इसलिए, जहां तक मुझे याद है कि मैंने यही किया है:
Apache HTTPD की कॉन्फ़िगरेशन फ़ाइल को संपादित करने के लिए वेबसर्वर को कुछ के लिए सभी HTTP PUT अनुरोधों को
put.php
पास करने के लिए कहा (मुझे ( HTTP URL लिखना था)अनुरोध को संभालने के लिए put.php लागू करें (फ़ाइल को बताए गए स्थान पर सहेजें)
लोगों ने कहा कि मैंने एक CGI स्क्रिप्ट लिखी है। सच में, मेरे पास कोई सुराग नहीं था कि वे किस बारे में बात कर रहे थे।
- क्या मैंने वास्तव में CGI स्क्रिप्ट लिखी थी?
मुझे आशा है कि आप समझ गए होंगे कि मेरा भ्रम क्या है। (क्योंकि मैं खुद नहीं जानता कि मैं कहाँ उलझन में हूँ)। मैं आप लोगों से अनुरोध करता हूं कि आप अपना उत्तर यथासंभव सरल रखें। मैं वास्तव में किसी भी फैंसी तकनीकी शब्दावली को नहीं समझ सकता। कम से कम इस मामले में तो नहीं।
संपादित करें:
मुझे यह अद्भुत ट्यूटोरियल मिला "सीजीआई प्रोग्रामिंग इज़ सिम्पल!" - CGI ट्यूटोरियल , जो अवधारणाओं को सरलतम तरीके से समझाता है । इस लेख को पढ़ने के बाद आप वास्तविक कोड नमूनों के साथ अपनी समझ के पूरक के लिए C में CGI प्रोग्रामिंग के साथ प्रारंभ करना पढ़ना चाहते हैं। मैंने इस ट्यूटोरियल के लिंक को विकिपीडिया के लेख में भी जोड़ा है: http://en.wikipedia.org/wiki/Common_Gateway_Interface