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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

e> संपत्ति (या कमांड लिखें) क्लाइंट-साइड डायनेमिक पेज जेनरेशन को चित्रित कर सकती है: दो अलग-अलग पेज, ए और बी, को पुनर्जीवित किया जा सकता है (एक इवेंट रिस्पांस डायनेमिक द्वारा)  और  ; या लोड डायनेमिक द्वारा   और.

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

एक वेब क्लाइंट, जैसे कि एक वेब ब्राउज़र, अपने स्वयं के सर्वर के रूप में कार्य कर सकता है, एक पेज बनाने के लिए गोफर, एफ़टीपी, एनएनटीपी (यूज़नेट) और HTTP विधि कई अलग-अलग सर्वरों से डेटा एक्सेस कर सकता है। हाइपरटेक्स्ट ट्रांसपोर्ट प्रोटोकॉल क्लाइंट से सर्वर पर वापस दस्तावेज़ अपलोड करने का समर्थन करता है। ऐसा करने के लिए कई HTTP तरीके हैं।

यह भी देखें

 * स्टेटिक वेब पेज
 * गतिशील एचटीएमएल
 * प्रतिक्रियात्मक वेब डिज़ाइन
 * डीप वेब (खोज अनुक्रमण)
 * वेब टेम्पलेट सिस्टम
 * गतिशील वेब पृष्ठों की सेवा के लिए समाधान ढेर
 * लैंप (सॉफ्टवेयर बंडल)
 * लाइम (सॉफ्टवेयर बंडल)
 * 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.