सर्वर-साइड स्क्रिप्टिंग: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 15: Line 15:
वेब के प्रारम्भ के दिनों में, [[ कॉमन गेटवे इंटरफ़ेस |कॉमन गेटवे इंटरफ़ेस]] (सीजीआई) का उपयोग करके C (प्रोग्रामिंग लैंग्वेज) प्रोग्राम, [[पर्ल]] स्क्रिप्ट एवं [[ खोल स्क्रिप्ट |शेल स्क्रिप्ट]] के संयोजन का उपयोग करके सर्वर-साइड स्क्रिप्टिंग लगभग विशेष रूप से की जाती थी। उन स्क्रिप्ट्स को [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्राणाली]] द्वारा निष्पादित किया गया था, एवं परिणाम वेबसर्वर द्वारा वापस दिए गए थे। कई आधुनिक वेब सर्वर सीधे वेब सर्वर द्वारा या वेब सर्वर पर एक्सटेंशन मॉड्यूल (जैसे mod_perl या mod_php) के माध्यम से [[सक्रिय सर्वर पेज]], [[जावा सर्वर पेज]], पर्ल, [[पीएचपी]] एवं [[रूबी (प्रोग्रामिंग भाषा)]] जैसी ऑन-लाइन स्क्रिप्टिंग भाषाओं को निष्पादित कर सकते हैं। उदाहरण के लिए, [[WebDNA]] में अपना स्वयं का एम्बेडेड डेटाबेस प्राणाली सम्मिलित है। स्क्रिप्टिंग के किसी भी रूप (यानी, सीजीआई या प्रत्यक्ष निष्पादन) का उपयोग जटिल बहु-पृष्ठ साइटों के निर्माण के लिए किया जा सकता है, परन्तु बाहरी दुभाषियों को कॉल की कम संख्या के कारण प्रत्यक्ष निष्पादन के परिणामस्वरूप सामान्यतः कम ओवरहेड होता है।
वेब के प्रारम्भ के दिनों में, [[ कॉमन गेटवे इंटरफ़ेस |कॉमन गेटवे इंटरफ़ेस]] (सीजीआई) का उपयोग करके C (प्रोग्रामिंग लैंग्वेज) प्रोग्राम, [[पर्ल]] स्क्रिप्ट एवं [[ खोल स्क्रिप्ट |शेल स्क्रिप्ट]] के संयोजन का उपयोग करके सर्वर-साइड स्क्रिप्टिंग लगभग विशेष रूप से की जाती थी। उन स्क्रिप्ट्स को [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्राणाली]] द्वारा निष्पादित किया गया था, एवं परिणाम वेबसर्वर द्वारा वापस दिए गए थे। कई आधुनिक वेब सर्वर सीधे वेब सर्वर द्वारा या वेब सर्वर पर एक्सटेंशन मॉड्यूल (जैसे mod_perl या mod_php) के माध्यम से [[सक्रिय सर्वर पेज]], [[जावा सर्वर पेज]], पर्ल, [[पीएचपी]] एवं [[रूबी (प्रोग्रामिंग भाषा)]] जैसी ऑन-लाइन स्क्रिप्टिंग भाषाओं को निष्पादित कर सकते हैं। उदाहरण के लिए, [[WebDNA]] में अपना स्वयं का एम्बेडेड डेटाबेस प्राणाली सम्मिलित है। स्क्रिप्टिंग के किसी भी रूप (यानी, सीजीआई या प्रत्यक्ष निष्पादन) का उपयोग जटिल बहु-पृष्ठ साइटों के निर्माण के लिए किया जा सकता है, परन्तु बाहरी दुभाषियों को कॉल की कम संख्या के कारण प्रत्यक्ष निष्पादन के परिणामस्वरूप सामान्यतः कम ओवरहेड होता है।


डायनेमिक वेबसाइटें कभी-कभी कस्टम वेब एप्लिकेशन सर्वर का उपयोग करती हैं, जैसे कि [[ प्लेट (सॉफ्टवेयर) |ग्लासफ़िश, प्लैक (सॉफ्टवेयर)]] एवं पायथन (प्रोग्रामिंग लैंग्वेज) की बेस HTTP सर्वर लाइब्रेरी, हालांकि कुछ इसे सर्वर-साइड स्क्रिप्टिंग नहीं मान सकते हैं। गतिशील वेब-आधारित स्क्रिप्टिंग प्रौद्योगिकीों का उपयोग करते समय, डेवलपर्स को क्लाइंट एवं सर्वर के बीच तार्किक, अस्थायी एवं भौतिक अलगाव की गहरी समझ होनी चाहिए। सर्वर-साइड कोड के निष्पादन को ट्रिगर करने के लिए उपयोगकर्ता की कार्रवाई के लिए, उदाहरण के लिए, क्लासिक एएसपी के साथ काम करने वाले डेवलपर को स्पष्ट रूप से उपयोगकर्ता के ब्राउज़र को वेबसर्वर से अनुरोध करने के लिए कहना चाहिए।
डायनेमिक वेबसाइटें कभी-कभी कस्टम वेब एप्लिकेशन सर्वर का उपयोग करती हैं, जैसे कि [[ प्लेट (सॉफ्टवेयर) |ग्लासफ़िश, प्लैक (सॉफ्टवेयर)]] एवं पायथन (प्रोग्रामिंग लैंग्वेज) की बेस हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल सर्वर लाइब्रेरी, चूँकि कुछ इसे सर्वर-साइड स्क्रिप्टिंग नहीं मान सकते हैं। गतिशील वेब-आधारित स्क्रिप्टिंग प्रौद्योगिकों का उपयोग करते समय, डेवलपर्स को क्लाइंट एवं सर्वर के मध्य तार्किक, अस्थायी एवं भौतिक भिन्नता की गहरी समझ होनी चाहिए। सर्वर-साइड कोड के निष्पादन को ट्रिगर करने के लिए उपयोगकर्ता की कार्रवाई के लिए, उदाहरण के लिए, क्लासिक एएसपी के साथ काम करने वाले डेवलपर को स्पष्ट रूप से उपयोगकर्ता के ब्राउज़र को वेबसर्वर पर पुनः अनुरोध करने के लिए प्रेरित करना चाहिए।


सर्वर-साइड स्क्रिप्ट को क्लाइंट के बजाय सर्वर द्वारा पूरी तरह से प्रोसेस किया जाता है। जब क्लाइंट सर्वर-साइड स्क्रिप्ट वाले पेज का अनुरोध करता है, तो एप्लिकेशन सर्वर स्क्रिप्ट को प्रोसेस करता है एवं क्लाइंट को एचटीएमएल पेज लौटाता है।
सर्वर-साइड स्क्रिप्ट को क्लाइंट के अतिरिक्त सर्वर द्वारा पूर्ण रूप से प्रोसेस किया जाता है। जब क्लाइंट सर्वर-साइड स्क्रिप्ट वाले पेज का अनुरोध करता है, तो एप्लिकेशन सर्वर स्क्रिप्ट को प्रोसेस करता है एवं क्लाइंट को एचटीएमएल पेज प्रदान करता है।


== [[सर्वर-साइड रेंडरिंग]] ==
== [[सर्वर-साइड रेंडरिंग]] ==

Revision as of 23:22, 27 June 2023

सर्वर साइड स्क्रिप्टिंग में प्रयुक्त भाषाएँ।

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

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

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

ऐसे प्रोग्राम जो उपयोगकर्ता के स्थानीय कंप्यूटर पर बिना किसी नेटवर्क पर डेटा भेजे या प्राप्त किए चलते हैं, उन्हें क्लाइंट नहीं माना जाता है, एवं इसलिए ऐसे प्रोग्रामों के संचालन को क्लाइंट-साइड ऑपरेशन नहीं माना जाएगा।

इतिहास

नेटस्केप ने नेटस्केप एंटरप्राइज़ सर्वर के साथ सर्वर-साइड स्क्रिप्टिंग के लिए जावास्क्रिप्ट का कार्यान्वयन शुरू किया, जिसे पहली बार दिसंबर, 1994 में जारी किया गया (ब्राउज़रों के लिए जावास्क्रिप्ट जारी करने के तुरंत पश्चात)।[1][2] बोस्टन, एमए टेलीविजन स्टेशन WCVB टीवी के लिए पहली वेबसाइट विकसित करते समय सर्वर-साइड स्क्रिप्टिंग का उपयोग पश्चात में 1995 की प्रारम्भ में फ्रेड डुफ्रेसने द्वारा किया गया था। प्रौद्योगिकी में वर्णित है =पीएन/5835712 यूएस पेटेंट 5835712। पेटेंट 1998 में जारी किया गया था एवं अब इसका स्वामित्व खुला आविष्कार नेटवर्क (OIN) के पास है। 2010 में ओआईएन ने सर्वर-साइड स्क्रिप्टिंग पर अपने काम के लिए फ्रेड डुफ्रेसने को विशिष्ट आविष्कारक नामित किया।

स्पष्टीकरण

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

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

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

सर्वर-साइड रेंडरिंग

वेब के प्रारम्भ में, सामग्री विशुद्ध रूप से बैक एंड पर उत्पन्न हुई थी। फ्रंट एंड पेज का आवेदन को बड़े स्तर पर स्वीकार करने के पश्चात, क्लाइंट एप्लिकेशन का उपयोग करके एचटीएमएल उत्पन्न करने के लिए बैक एंड पर नया दृष्टिकोण प्रस्तुत किया गया था। सर्वर-साइड रेंडरिंग का उपयोग करने वाले फ्रेमवर्क के उदाहरण हैं Next.js, Nuxt.js एवं Nest.js हैं। वे सर्वर की सामग्री उत्पन्न करने के लिए क्रमशः React.js, Vue.js एवं Angular (वेब ​​फ्रेमवर्क) का उपयोग करते हैं।

सर्वर-साइड जनरेशन

किसी वेबसाइट के लिए सामग्री तैयार करने की एसएसआर प्रौद्योगिकी के समान सर्वर-साइड पीढ़ी का उपयोग है। यह प्रौद्योगिकी ऐसे एप्लिकेशन का उपयोग करती है जो स्थिर एचटीएमएल पृष्ठ बनाती है एवं फिर उन फ़ाइलों को सर्वर पर भेज दिया जाता है। फ़ाइल निर्माण पूर्ण रूप से अलग कंप्यूटर पर हो सकता है उदाहरण के लिए निरंतर वितरण का उपयोग करना। जेकिल (सॉफ्टवेयर), गैट्सबी (सॉफ्टवेयर) या एलेवेंटी (सॉफ्टवेयर) एसएसजी टूल्स के उदाहरण हैं। उन साइटों को प्रायः नेटलिफाई या गिटहब पेज पर होस्ट किया जाता है। गिटहब जेकिल परियोजनाओं का भी समर्थन करता है जहां गिट में परिवर्तन जोड़े जाने पर यह स्वचालित रूप से साइट बनाता है।

भाषाएँ

कई सर्वर-साइड स्क्रिप्टिंग भाषाएँ उपलब्ध हैं, जिनमें सम्मिलित हैं:

यह भी देखें

संदर्भ

  1. "सर्वर-साइड जावास्क्रिप्ट गाइड". Netscape Communications Corporation. 1998. Retrieved 2012-04-25.
  2. Mike Morgan (1996). "Using Netscape™ LiveWire™, Special Edition". Que.


बाहरी संबंध