कॉमन गेटवे इंटरफ़ेस (CGI) पर्यावरण चर संदर्भ

प्रकटीकरण: आपका समर्थन साइट को चालू रखने में मदद करता है! हम इस पृष्ठ पर हमारे द्वारा सुझाई गई कुछ सेवाओं के लिए एक रेफरल शुल्क कमाते हैं.


मूलतः, HTTP अनुरोध भेजने और प्राप्त करने के लिए वेब केवल एक प्रणाली थी। कोई ब्राउज़र HTTP अनुरोध के साथ एक पृष्ठ भेजने के लिए कहेगा और सर्वर पृष्ठ को ब्राउज़र को भेजेगा। पेज में छवियों के संदर्भ जैसी चीजें शामिल हो सकती हैं जो ब्राउज़र अधिक HTTP अनुरोधों के साथ पूछेगा। यह सब बहुत सरल था। लेकिन इसने सर्वर द्वारा प्रसंस्करण की अनुमति नहीं दी। परिणामस्वरूप, कॉमन गेटवे इंटरफ़ेस (CGI) विकसित किया गया था.

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

आखिरकार, PHP और पायथन जैसी सर्वर प्रोग्रामिंग भाषाओं को विकसित किया गया था, लेकिन उन दिनों में सीजीआई सब कुछ था। फिर भी, CGI में एक अद्वितीय क्षमता थी: यह भाषा स्वतंत्र थी। यदि सर्वर प्रोग्राम को चला सकता है, तो CGI इसे संभाल सकता है। तो यह एक संकलित C ++ प्रोग्राम या एक व्याख्या की गई पर्ल स्क्रिप्ट हो सकती है या बस किसी और चीज़ के बारे में.

आज, सीजीआई कार्यक्रम ज्यादातर विरासत हैं। लेकिन ऐसे समय होते हैं जब यह किसी समस्या को हल करने का सबसे अच्छा तरीका होता है। आइए पर्यावरण चर पर एक नज़र डालें जो सिस्टम की रीढ़ हैं.

चर

यदि आप सीजीआई प्रोग्रामिंग पर विचार कर रहे हैं, तो निम्न चर शक्तिशाली और बहुमुखी कार्यक्रमों के परिणामस्वरूप डेटा के प्रसंस्करण के लिए विभिन्न सर्वर अनुरोधों को संभालने के लिए बहुत उपयोगी होंगे। इन चर का उपयोग करने के लिए, आपको पर्यावरण का संदर्भ देते हुए मानों की एक सरणी से एक प्रविष्टि प्राप्त करनी होगी। पर्ल में उदाहरण के लिए, आप निम्न के समान पर्यावरण चर कुंजी का उपयोग करके $ ENV सरणी में मान प्राप्त करेंगे:

$ ENV {$ env_var}

उपरोक्त कोड में, env_var एक पर्यावरण चर कुंजी या स्ट्रिंग जैसे SERVER_NAME को संदर्भित करता है। अन्य प्रोग्रामिंग भाषाओं में पर्यावरण चर के प्रबंधन के लिए अपने स्वयं के सिस्टम हैं। अपनी विशेष भाषा के लिए संदर्भ देखें.

यहाँ CGI चर हैं और वे क्या करते हैं:

प्रमाणीकरण का प्रकार

कुछ वेब सर्वर प्राधिकरण का उपयोग करके सीजीआई स्क्रिप्ट तक पहुंच की रक्षा करते हैं। AUTH_TYPE चर प्राधिकरण प्रकार को संदर्भित करता है जो सर्वर उपयोगकर्ताओं को सत्यापित करने के लिए उपयोग करता है। उदाहरण के लिए, इस चर के लिए एक संभावित मान मूल प्रमाणीकरण की मूल बात हो सकती है। ध्यान दें कि सभी सर्वर प्राधिकरण का समर्थन नहीं करते हैं.

कंटेंट की लम्बाई

CONTENT_LENGTH बाइट की संख्या के रूप में अनुरोध के माध्यम से वितरित सामग्री की लंबाई देता है। यदि लंबाई अज्ञात है, तो चर -1 पर सेट किया जाएगा.

सामग्री प्रकार

CONTENT_TYPE चर में फ़ाइल का प्रकार होता है जिसे अनुरोध द्वारा लौटाया जाता है। उदाहरण के लिए, यदि किसी वेब पेज का अनुरोध किया जाता है, तो CONTENT_TYPE चर MIME प्रकार के पाठ / html पर सेट किया जाएगा.

GATEWAY_INTERFACE

यदि आप जानना चाहते हैं कि सर्वर किस सीजीआई विनिर्देश को संभालता है, तो आप GATEWAY_INTERFACE को क्वेरी कर सकते हैं। यह चर यह सुनिश्चित करने में मदद करेगा कि आप विनिर्देश और मान्य कमांड के सही संस्करण का उपयोग कर रहे हैं.

HTTP_ACCEPT

जैसे CONTENT_TYPE उस डेटा या MIME प्रकार को प्रदान करता है जिसे वितरित किया जाता है, HTTP_ACCEPT उन सभी संभावित MIME प्रकारों को सूचीबद्ध करता है, जो अनुरोध करने वाले ग्राहक स्वीकार कर सकते हैं। प्रकारों की सूची अल्पविराम द्वारा अलग की जाती है.

HTTP_USER_AGENT

HTTP_USER_AGENT उस प्रोग्राम का नाम देता है जिसे क्लाइंट अनुरोध भेजने के लिए उपयोग करता है। उदाहरण के लिए, यदि कोई उपयोगकर्ता मोज़िला फ़ायरफ़ॉक्स से सीजीआई स्क्रिप्ट निष्पादित करता है, तो HTTP_USER_AGENT इंगित करेगा कि उपयोगकर्ता ने फ़ायरफ़ॉक्स के माध्यम से वेब सर्वर से अनुरोध किया है.

PATH_INFO

PATH_INFO चर में अतिरिक्त जानकारी होती है जिसे CGI स्क्रिप्ट नाम के बाद देखा जाता है। उदाहरण के लिए, यदि आप www.placeholder.com/cgi-bin/hello.pl/index.html निष्पादित करते हैं, तो इसके लिए PATH_INFO वे वर्ण होंगे जो इस उदाहरण में CGI स्क्रिप्ट नाम या /index.html के बाद आते हैं.

PATH_TRANSLATED

जब आप किसी वेब ब्राउज़र पर CGI स्क्रिप्ट का पता टाइप करते हैं, तो आप आमतौर पर एक वर्चुअल पथ पर टाइप करते हैं जिसे सर्वर पर भौतिक स्थान पर मैप किया जाता है। उदाहरण के लिए, यदि आप http://www.somewebsite.com/cgi-bin/index.cgi पर जाते हैं और आप PATH_TRANSLated चर की क्वेरी करते हैं, तो आपको वास्तविक भौतिक पथ मिलेगा। यदि आप एक साझा यूनिक्स सर्वर पर हैं, तो यह /home/placeholder/public_html/cgi-bin/india.cgi हो सकता है.

वेब होस्टिंग कूपन

गुणवत्ता CGI पहुँच होस्टिंग की आवश्यकता है?
ग्रीनजीक्स ने हमारी गति और प्रदर्शन परीक्षणों में बहुत अच्छा स्कोर किया। पाठक वर्तमान में अपनी योजनाओं पर 60% तक बचा सकते हैं। इस विशेष छूट लिंक का उपयोग करें
सौदा पाने के लिए.

क्वेरी स्ट्रिंग

प्रश्न चिह्न के बाद URL में संलग्न क्वेरी जानकारी देखना आम है। URL के लिए http://www.placeholder.com/cgi-bin/hello.cgi?name=Leroy&विस्मयादिबोधक = सही, QUERY_STRING का अनुरोध करने पर नाम = Leroy में वापस आ जाएगा&विस्मयादिबोधक = सच लौटाया जा रहा है.

REMOTE_ADDR

REMOTE_ADDR चर क्लाइंट कंप्यूटर के आईपी पते को अनुरोध करता है। मूलतः, REMOTE_ADDR एक IP पते पर हल किया गया REMOTE_HOST है.

रिमोट होस्ट

वेब सर्वर ग्राहकों से लगातार कनेक्शन और अनुरोध दोनों स्वीकार करते हैं। REMOTE_HOST चर क्लाइंट के होस्टनाम को संदर्भित करता है जो अनुरोध करता है। उदाहरण के लिए, यदि आपका वेब होस्ट webhost2.com से एक अनुरोध स्वीकार करता है, तो REMOTE_HOST के साथ पॉपुलेट किया जाएगा।.

REMOTE_IDENT

REMOTE_IDENT चर CGI स्क्रिप्ट चलाने वाले उपयोगकर्ता ID को संग्रहीत करता है। उपयोगकर्ता आईडी केवल तभी संग्रहीत की जाती है जब पहचान प्रक्रिया चल रही होती है, क्योंकि पहचान न केवल उपयोगकर्ता आईडी जानकारी, बल्कि स्क्रिप्ट के ओएस के नाम से युक्त प्रतिक्रिया भी देती है।.

REMOTE_USER

REMOTE_USER वैरिएबल को छोड़कर अनुरोध करने वाली इकाई का उपयोगकर्ता नाम जानकारी देगा। यह केवल तभी मान्य है जब प्रमाणीकरण सक्षम हो.

REQUEST_METHOD

REQUEST_METHOD HTTP अनुरोध के प्रकार को पूरा करता है जिसमें GET, POST और PUT जैसे मूल्य शामिल हैं.

स्क्रिप्ट

यदि इसके बजाय आप स्क्रिप्ट के वर्चुअल पथ को निष्पादित करना चाहते हैं, तो आप बस SCRIPT_NAME चर को क्वेरी कर सकते हैं। उदाहरण के लिए, यदि आप स्क्रिप्ट http://www.placeholder.com/cgi-bin/ping.sh चलाते हैं और SCRIPT_NAME पुनः प्राप्त करते हैं, तो आपको स्क्रिप्ट या /cgi-bin/ping.sh का आभासी पथ मिल जाएगा.

सर्वर का नाम

SERVER_NAME चर आपके सर्वर का पूरा नाम देते हैं। उदाहरण के लिए, यदि आप इस चर के लिए क्वेरी करते हैं, तो परिणाम वेबसाइट का डोमेन नाम होगा। उदाहरण के लिए, www.placeholder.com जैसा कुछ.

सर्वर पोर्ट

वेब पर चलने वाले किसी भी सर्वर में एक पता और एक पोर्ट दोनों होता है। सर्वर कनेक्शन स्वीकार करने और अनुरोधों को सुनने के लिए एक पोर्ट का उपयोग करता है। मानक पोर्ट 80 है, लेकिन यह अन्य संख्याएं हो सकती हैं – विशेष रूप से विशेष अनुप्रयोगों के लिए। SERVER_PORT चर को छोड़कर श्रवण पोर्ट के मूल्य में परिणाम होगा.

SERVER_PROTOCOL

आप यह जान सकते हैं कि अनुरोधों को संभालने के लिए सर्वर किस प्रोटोकॉल का उपयोग कर रहा है। उदाहरण के लिए, यदि आप जिस सर्वर के साथ HTTP प्रोटोकॉल का उपयोग कर रहे हैं, वह “HTTP / 1.1” जैसी स्ट्रिंग लौटाएगा, जिसका अर्थ है कि सर्वर HTTP संस्करण 1.1 का उपयोग कर रहा है। मूल रूप से स्ट्रिंग लौटा प्रारूप प्रोटोकॉल / संस्करण में है.

SERVER_SOFTWARE

SERVER_SOFTWARE पर्यावरण चर में वेब सर्वर पर चल रहे सॉफ़्टवेयर का नाम और संस्करण है। उदाहरण के लिए, यदि आप इस चर का मान आउटपुट करते हैं और आप अपाचे का संस्करण चला रहे हैं, तो आपको निम्नलिखित के समान कुछ मिल सकता है:

अपाचे 2.4.25

निष्कर्ष

सीजीआई या एचटीटीपी प्रोटोकॉल को समझने के लिए पहले कदमों में से एक आप खुद को अंतर्निहित चर और वाक्य रचना से परिचित कर सकते हैं। इसमें पर्यावरण के चर शामिल हैं। हालांकि आज CGI का उपयोग बहुत कम किया जाता है, लेकिन PHP जैसी कई वर्तमान वेब विकास भाषाएँ भी इनमें से कई प्रकारों का उपयोग करती हैं। परिणामस्वरूप, उन्हें सीखने से आपको वर्तमान वेब विकास भाषाओं के लिए भी मजबूत कार्यक्रम लिखने में मदद मिलेगी.

आगे पढ़ना और संसाधन

हमारे पास कोडिंग और विकास से संबंधित अधिक गाइड, ट्यूटोरियल और इन्फोग्राफिक्स हैं:

  • PHP परिचय और संसाधन: यह वेब पर सबसे बड़ी कोडिंग भाषाओं में से एक है.
  • CGI प्राइमर: CGI बेसिक्स के साथ आरंभ करें.
  • CGI ट्यूटोरियल और संसाधन: यह पता करें कि CGI को कैसे ले जाया जा सकता है.

आपको क्या कोड सीखना चाहिए?

किस प्रोग्रामिंग भाषा में आपको कोड करना सीखना चाहिए? हमारे इन्फोग्राफिक की जाँच करें, आपको क्या कोड सीखना चाहिए? यह न केवल भाषाओं के विभिन्न पहलुओं पर चर्चा करता है, यह महत्वपूर्ण सवालों के जवाब देता है, जैसे “मैं एक जीवन के लिए प्रोग्रामिंग PHP कितना पैसा कमाऊंगा?”

आपको क्या कोड सीखना चाहिए?
आपको क्या कोड सीखना चाहिए?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map