डायनामिक वेब पेज

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

उपभोगता-पक्ष डायनामिक वेब पेज लोड होने पर विचरक में चल रहे जावास्क्रिप्ट का उपयोग करके वेब पेज को संसाधित करता है। जावास्क्रिप्ट पृष्ठ स्थिति को क्वेरी करने और इसे संशोधित करने के लिए डॉक्यूमेंट ऑब्जेक्ट मॉडल या DOM के माध्यम से पृष्ठ के साथ सहभागिता कर सकता है। भले ही कोई वेब पेज उपभोगता-पक्ष पर डायनामिक हो सकता है, फिर भी जब तक कोई परिसेवक-पक्ष कोड सम्मिलित नहीं होता है, तब तक इसे गीथब पृष्ठ या अमेज़न S3 जैसी स्थिर वेब होस्टिंग सेवा पर होस्ट (मेज़बान) किया जा सकता है।

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

DHTML उन वेब पेजों को बनाने के लिए उपयोग की जाने वाली तकनीकों और विधियों के लिए छत्र शब्द है जो स्थिर वेब पेज नहीं हैं, यद्यपि यह AJAX के लोकप्रिय होने के बाद से आम उपयोग से बाहर हो गया है, एक ऐसा शब्द जो अब संभवतः ही कभी उपयोग किया जाता है। उपभोगता-पक्ष-लिपिबद्धन, परिसेवक-पक्ष लिपिबद्धन, या इनका संयोजन विचरक में डायनामिक वेब अनुभव बनाता है।

बुनियादी अवधारणाएँ
शास्त्रीय हाइपरटेक्स्ट नौसंचालन, केवल HTML या XHTML के साथ, "स्थिर" सार प्रदान करता है, जिसका अर्थ है कि उपयोगकर्ता एक वेब पेज का अनुरोध करता है और केवल उस पृष्ठ और उस पृष्ठ की जानकारी को देखता है।

यद्यपि, वेब पेज "जीवंत", "डायनामिक", या "पारस्परिक" उपयोगकर्ता अनुभव भी प्रदान कर सकता है। वेब पेज पर सार (टेक्स्ट, इमेज, फॉर्म फ़ील्ड इत्यादि) विभिन्न संदर्भों या स्थितियों के समाधान में बदल सकती है।

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

परिसेवक पक्ष लिपिबद्धन का उपयोग करने वाले वेब पेज अधिकतर परिसेवक-पक्ष भाषाओं जैसे PHP, पर्ल, जावा परिसेवक पृष्ठ]], ASP.NET, जावा परिसेवक पृष्ठ, कोल्डफ्यूजन और अन्य भाषाओं की सहायता से बनाए जाते हैं। ये परिसेवक-पक्ष भाषाएं प्रायः डायनामिक वेब पेज बनाने के लिए कॉमन गेटवे अंतराफलक (CGI) का उपयोग करती हैं। इस प्रकार के पृष्ठ उपभोगता-पक्ष पर फर्स्ट टाइप (DHTML, आदि) का भी उपयोग कर सकते हैं।

इतिहास
"डायनामिक वेब पेज आरंभ" या कालक्रम के बारे में उपयुक्त होना कठिन है क्योंकि उपयुक्त अवधारणा "वेब पेजों के व्यापक विकास" के बाद ही समझ में आती है। हाइपरटेक्स्ट परहस्त भाषाएँ 1989 से अस्तित्व में है, हाइपर टेक्स्ट मार्कअप भाषाएँ, 1996 से सार्वजनिक रूप से मानकीकृत है। वेब विचरक की लोकप्रियता में वृद्धि 1993 में मोज़ेक (वेब ​​​​विचरक) के साथ शुरू हुई। 1995 और 1996 के बीच कोल्डफ्यूजन, वेबऑब्जेक्ट्स, PHP और सक्रिय परिसेवक पृष्ठों को बाजार में समक्ष किया गया।

जावास्क्रिप्ट (तब लाइवस्क्रिप्ट के रूप में जाना जाता है) की आरंभ ने उपभोगता के विचरक में निष्पादित जावास्क्रिप्ट कोड के साथ उपभोगता-पक्ष डायनामिक वेब पेजों के उत्पादन को सक्षम किया। AJAX शब्द के अक्षर "J" ने मूल रूप से जावास्क्रिप्ट, साथ ही XML के उपयोग का संकेत दिया। परिसेवक पक्ष जावास्क्रिप्ट प्रसंस्करण के उदय के साथ, उदाहरण के लिए, मूल रूप से 2009 में विकसित Node.js, जावास्क्रिप्ट का उपयोग परिसेवक पर डायनामिक रूप से पृष्ठ बनाने के लिए भी किया जाता है जो उपभोगता को पूरी तरह से भेजा जाता है।

मीडियाविकी, सार प्रबंधन प्रणाली जो विकिपीडिया को शक्ति प्रदान करती है, मूल रूप से परिसेवक-पक्ष डायनामिक वेब पेज के लिए एक उदाहरण है, जिसके साथ फॉर्म जमा करना और URL मापदण्ड के माध्यम से परस्पर प्रभावित किया जाता है। पूरे समय के बीच, दृश्य संपादक जैसे प्रडायनामिक वृद्धि विस्तारण ने ऐसे तत्व भी जोड़े हैं जो उपभोगता पक्ष पर डायनामिक हैं, जबकि मूल डायनामिक परिसेवक-पक्ष तत्व जैसे कि क्लासिक एडिट फॉर्म (सुशोभित गिरावट) त्रुटि या असंगति के घटनाक्रम में वापस आने के लिए उपलब्ध रहते हैं।

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

ऐसे वेब पेज अधिकतर परिसेवक-पक्ष भाषाओं जैसे एक्टिव परिसेवक पृष्ठ, कोल्डफ्यूजन, जाओ (प्रोग्रामिंग भाषा), जावास्क्रिप्ट, पर्ल, PHP, रूबी (प्रोग्रामिंग भाषा), पायथन (प्रोग्रामिंग भाषाएँ), WebDNA और अन्य भाषाओं की सहायता से समर्थन परिसेवक द्वारा बनाए जाते हैं जो उसी हार्डवेयर पर चल सकते हैं। ये परिसेवक-पक्ष भाषाएँ डायनामिक वेब पेज बनाने के लिए अधिकतर कॉमन गेटवे अंतराफलक (CGI) का उपयोग करती हैं। दो उल्लेखनीय अपवाद ASP.NET और JavaServer पृष्ठ हैं, जो अपने APIs में CGI अवधारणाओं का पुन: उपयोग करते हैं लेकिन वास्तव में सभी वेब अनुरोधों को साझा आभासी यंत्र में भेजते हैं।

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

डायनामिक वेब पेज अधिकतर तब कैशे (कंप्यूटिंग) होते हैं जब बहुत कम या कोई बदलाव अपेक्षित नहीं होता है और पृष्ठ को काफी मात्रा में वेब परियात प्राप्त होने का अनुमान होता है जो परिसेवक पर व्यर्थ भार डालेगा और पृष्ठ लोडिंग को धीमा कर देगा अगर उसे प्रत्येक अनुरोध के लिए फ्लाई पर पृष्ठ उत्पन्न करना पड़े।

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

ऐसे वेब पेज प्रस्तुति तकनीक का उपयोग करते हैं जिसे समृद्ध अंतराफलक वाले पृष्ठ कहा जाता है। उपभोगता-पक्ष लिपिबद्धन भाषाएँ जैसे जावास्क्रिप्ट या एक्शनस्क्रिप्ट, जिनका उपयोग क्रमशः डायनामिक HTML (DHTML) और Adobe Flash तकनीकों के लिए किया जाता है, अधिकतर प्रस्तुति के संचार माध्यम के प्रकारों (ध्वनि, जीवंतता, बदलते पाठ, आदि) को ऑर्केस्ट्रेट करने के लिए उपयोग किया जाता है। उपभोगता-पक्ष लिपिबद्धन भी दूरस्थ लिपिबद्धन के उपयोग की अनुमति देती है, एक ऐसी तकनीक जिसके द्वारा DHTML पृष्ठ एक छिपे हुए (HTML तत्व) फ्रेम, XMLHttpRequests या वेब सेवा का उपयोग करके परिसेवक से अतिरिक्त जानकारी का अनुरोध करता है।

जावास्क्रिप्ट का पहला सार्वजनिक उपयोग 1995 में हुआ था, जब भाषा को नेटस्केप नेविगेटर 2 में लागू किया गया था, जिसे दो साल बाद ECMAScript के रूप में मानकीकृत किया गया था। उपभोगता-पक्ष सार उपभोगता के कंप्यूटर पर उत्पन्न होती है। वेब विचरक परिसेवक से एक पृष्ठ प्राप्त करता है, फिर पृष्ठ में सन्निहित किए गए कोड को संसाधित करता है (प्रायः जावास्क्रिप्ट में लिखा जाता है) और उपयोगकर्ता को पुनर्प्राप्त पृष्ठ की सार प्रदर्शित करता है।
 * उदाहरण

विशेशता (या लिखें कमांड) उपभोगता-पक्ष डायनामिक पृष्ठ जेनरेशन को चित्रित कर सकती है: दो अलग-अलग पृष्ठ, A और B, को पुनर्जीवित किया जा सकता है (एक "इवेंट रिस्पांस डायनामिक" द्वारा)  और  ; या लोड डायनामिक द्वारा   और.

संयोजन प्रौद्योगिकियां
सभी उपभोगता और परिसेवक घटक जो सामूहिक रूप से डायनामिक वेब पेज का निर्माण करते हैं,  वेब अनुप्रयोग  कहलाते हैं। वेब अनुप्रयोज्य उपयोगकर्ता पारस्परिक क्रिया, स्थिति, सुरक्षा और प्रदर्शन का प्रबंधन करते हैं।

अजाक्स (प्रोग्रामिंग) उपभोगता-पक्ष लिपिबद्धन और परिसेवक-पक्ष अनुरोध दोनों के संयोजन का उपयोग करता है। यह सार को डायनामिक रूप से बदलने के लिए वेब अनुप्रयोग विकास तकनीक है, और ऐसा करने के लिए यह डेटा के लिए परिसेवक को अनुरोध भेजता है। परिसेवक अनुरोधित डेटा लौटाता है जिसे उपभोगता-पक्ष लिपि द्वारा संसाधित किया जाता है। यह तकनीक परिसेवक लोड समय को कम कर सकती है क्योंकि उपभोगता परिसेवक के भाषा पार्सर द्वारा पूरे वेबपृष्ठ को पुन: उत्पन्न करने का अनुरोध नहीं करता है; केवल वह सार जो बदलेगी, प्रसारित की जाती है। गूगल मैप्स वेब अनुप्रयोज्य का एक उदाहरण है जो अजाक्स तकनीकों का उपयोग करता है।

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

यह भी देखें

 * स्थिर वेब पेज
 * डायनामिक HTML
 * प्रतिक्रियात्मक वेब डिज़ाइन
 * डीप वेब (खोज अनुक्रमण)
 * वेब टेम्पलेट सिस्टम
 * डायनामिक वेब पेजों की सेवा के लिए समाधान ढेर
 * लैंप (सॉफ्टवेयर बंडल)
 * लाइम (सॉफ्टवेयर बंडल)
 * LYCE (सॉफ्टवेयर बंडल)
 * सार प्रबंधन प्रणाली
 * वेब सार प्रबंधन प्रणाली
 * निजीकरण प्रबंधन प्रणाली

बाहरी संबंध

 * Static versus dynamic web site from W3.org
 * Dynamic web sites using the Relationship Management Method, from W3.org.
 * Wide analysis of dynamic web pages from University of Texas, Austin.