वेब फ्रेमवर्क: Difference between revisions
From Vigyanwiki
No edit summary |
No edit summary |
||
| (48 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{short description|Software framework to support the development of websites}} | {{short description|Software framework to support the development of websites}} | ||
वेब फ्रेमवर्क | '''वेब फ्रेमवर्क''' या '''वेब अनुप्रयोग''' फ्रेमवर्क[[ सॉफ्टवेयर ढांचा | सॉफ्टवेयर आकृति]] है जिसे वेब सेवाओं, [[वेब संसाधन|वेब संसाधनों]] एवं वेब [[एपीआई]] सहित वेब एप्लिकेशन के विकास का समर्थन करने के लिए डिज़ाइन किया गया है। वेब फ्रेमवर्क [[वर्ल्ड वाइड वेब]] पर वेब एप्लिकेशन बनाने एवं नियुक्त करने का मानक विधि प्रदान करते हैं। वेब आकृति का उद्देश्य [[वेब विकास]] में की जाने वाली सामान्य गतिविधियों से जुड़े ओवरहेड को स्वचालित करना है। उदाहरण के लिए, कई वेब फ्रेमवर्क [[डेटाबेस]] एक्सेस, [[टेम्पलेट प्रोसेसर]] फ्रेमवर्क एवं सेशन (कंप्यूटर विज्ञान) प्रबंधन के लिए [[ पुस्तकालय (कम्प्यूटिंग) |लाइब्रेरी (अर्घकंप्यूटिंग)]] प्रदान करते हैं, एवं वे प्रायः कोड के पुन: उपयोग को विस्तारित करते हैं।{{refn |{{cite web |url=http://docforge.com/wiki/Web_application_framework |title= Web application framework |author=Multiple (wiki) |website=Docforge |archive-url=https://web.archive.org/web/20150723163302/http://docforge.com/wiki/Web_application_framework |archive-date=2015-07-23 }} }} चूँकि वे प्रायः [[गतिशील वेब पेज|गतिशील वेब पेजो]] के विकास को लक्षित करते हैं, वे [[स्थिर वेब पेज|स्थिर वेब पेजो]] पर भी प्रस्तावित होते हैं।{{refn |{{cite web |title=Top Open-Source Static Site Generators |url=https://www.staticgen.com/ |website=StaticGen}}}} | ||
== इतिहास == | == इतिहास == | ||
{{Further| | {{Further|रिच वेब एप्लिकेशन}} | ||
जैसा कि वर्ल्ड वाइड वेब का डिज़ाइन स्वाभाविक रूप से गतिशील नहीं था, | जैसा कि वर्ल्ड वाइड वेब का डिज़ाइन स्वाभाविक रूप से गतिशील नहीं था, प्राथमिक [[हाइपरटेक्स्ट]] में हाथ से कोडित [[HTML|एचटीएमएल]] टेक्स्ट फ़ाइलें सम्मलित थीं जो [[वेब सर्वर]] पर प्रकाशित हुई थीं। प्रकाशित पृष्ठों में कोई भी संशोधन पृष्ठों के लेखक द्वारा किए जाने की आवश्यकता है। 1993 में, [[कॉमन गेटवे इंटरफ़ेस]] (सीजीएल) मानक को वेब सर्वर के साथ बाहरी अनुप्रयोगों को इंटरफेस करने के लिए प्रस्तुत किया गया था, जिससे गतिशील वेब पेज प्रदान किया जा सके जो उपयोगकर्ता इनपुट को प्रतिबिंबित करता हो।<ref>{{cite web | ||
| title = CGI: Common Gateway Interface | | title = CGI: Common Gateway Interface | ||
| url=http://hoohoo.ncsa.uiuc.edu/cgi/intro.html | | url=http://hoohoo.ncsa.uiuc.edu/cgi/intro.html | ||
| archive-url = https://web.archive.org/web/20090409213905/http://hoohoo.ncsa.uiuc.edu/cgi/intro.html | | archive-url = https://web.archive.org/web/20090409213905/http://hoohoo.ncsa.uiuc.edu/cgi/intro.html | ||
| archive-date = 2009-04-09 }}</ref> | | archive-date = 2009-04-09 }}</ref> सीजीआई इंटरफ़ेस के मूल कार्यान्वयन का समान्यतः सर्वर लोड पर प्रतिकूल प्रभाव पड़ता है, क्योंकि प्रत्येक अनुरोध ने भिन्न [[प्रक्रिया (कंप्यूटिंग)]] प्रारम्भ की थी।<ref>{{Cite web|title=सीजीआई|url=https://www.ibm.com/docs/en/i/7.4?topic=functionality-cgi|access-date=2021-05-07|website=www.ibm.com|language=en-us}}</ref> कार्यान्वयन सर्वर के संसाधनों में पदचिह्न को अर्घ करने एवं सामान्य प्रदर्शन को तीव्रता देने के लिए अन्य प्रौद्यौगिकी के मध्य निरंतर प्रक्रियाओं का उपयोग करते हैं। | ||
सीजीआई इंटरफ़ेस के मूल कार्यान्वयन का समान्यतः सर्वर लोड पर प्रतिकूल प्रभाव पड़ता है, क्योंकि प्रत्येक अनुरोध ने भिन्न [[प्रक्रिया (कंप्यूटिंग)]] प्रारम्भ की थी।<ref>{{Cite web|title=सीजीआई|url=https://www.ibm.com/docs/en/i/7.4?topic=functionality-cgi|access-date=2021-05-07|website=www.ibm.com|language=en-us}}</ref> | |||
1995 में, सम्पूर्ण | 1995 में, सम्पूर्ण विधि से एकीकृत सर्वर विकास वातावरण प्राथमिक बार उत्पन हुआ एवं नई वेब-विशिष्ट भाषाएं, जैसे कि [[ ठंडा गलन |कोल्ड़फ्यूज़न]], [[पीएचपी]] एवं [[सक्रिय सर्वर पेज]] प्रस्तुति की गई। | ||
चूँकि गतिशील वेब पेज बनाने के लिए अधिकांश भाषाओं में सामान्य कार्यों में सहायता के लिए लाइब्रेरी (कंप्यूटिंग) है, वेब एप्लिकेशन को उपयोग प्रायः विशेष कार्यों के लिए जैसे कि एचटीएमएल बनाना (उदाहरण के लिए, [[जकार्ता सर्वर चेहरे|जकार्ता सर्वर फेसेस]] विशिष्ट लाइब्रेरी की आवश्यकता होती है। | |||
1990 के दशक के अंत में, परिपक्व, पूर्ण स्टैक फ्रेमवर्क दिखाई देने लगे, जो प्रायः वेब विकास के लिए उपयोगी कई | 1990 के दशक के अंत में, परिपक्व, पूर्ण स्टैक फ्रेमवर्क दिखाई देने लगे, जो प्रायः वेब विकास के लिए उपयोगी कई लाइब्रेरीज को वेब डेवलपर्स के उपयोग के लिए एकल संसक्त [[सॉफ़्टवेयर स्टैक]] में एकत्रित करते थे। इसके उदाहरणों में एएसपी.नेट, जावा प्लेटफार्म, एंटरप्राइज एडिशन, [[WebObjects|वेबऑब्जेक्ट्स]], [[web2py|वेब2पी]], [[OpenACS|ओपनएसीएस]], उत्प्रेरक(सॉफ़्टवेयर), [[Mojolicious|मौजोलिशियस]], [[Ruby on Rails|रूबी ऑन रेल्स]], [[Laravel|लारवेलl]], [[Grails (Framework)|ग्रिल्स (फ्रेमवर्क)]] , डिजानगो (वेब फ़्रेमवर्क), [[Zend Framework|ज़ेंड फ्रेमवर्क]], साइलस.जेएस, [[ यह |यी]] ,<ref>{{cite web |title=यह PHP फ्रेमवर्क|url=http://www.yiiframework.com/}}</ref> [[केकेपीएचपी]],<ref>{{cite web |title=केकेपीएचपी|url=http://cakephp.org/}}</ref> एवं [[सिम्फोनी]] सम्मलित हैं। | ||
== फ्रेमवर्क संरचना के प्रकार == | == फ्रेमवर्क संरचना के प्रकार == | ||
अधिकांश वेब फ्रेमवर्क मॉडल-व्यू-कंट्रोलर | अधिकांश वेब फ्रेमवर्क मॉडल-व्यू-कंट्रोलर[[ वास्तु पैटर्न | वास्तु पैटर्न]] पर आधारित होते हैं। | ||
=== मॉडल-व्यू-कंट्रोलर (एमवीसी) === | === मॉडल-व्यू-कंट्रोलर (एमवीसी) === | ||
{{Main article| | {{Main article|मॉडल व्यू नियंत्रक }} | ||
[[डेटा मॉडल]] को [[व्यापार नियम]] (कंट्रोलर) | [[डेटा मॉडल]] को [[व्यापार नियम|व्याज्ञात नियम]] (कंट्रोलर) एवं [[ प्रयोक्ता इंटरफ़ेस ]](व्यू) में भिन्न करने के लिए कई फ्रेमवर्क एमवीसी संरचनाल पैटर्न (कंप्यूटर विज्ञान) का पालन करते हैं। यह समान्यतः उत्तम अभ्यास माना जाता है क्योंकि यह विचारो को भिन्न करता है, कोड के पुन: उपयोग को विस्तारित करते है, एवं कई इंटरफेस को प्रस्तावित करने की अनुमति देता है। वेब अनुप्रयोगों में, यह विभिन्न दृश्यों को प्रस्तुत करने की अनुमति देता है, उदाहरण के लिए मोबाइल के प्रति डेस्कटॉप ब्राउज़रों के लिए विभिन्न [[ वेब पृष्ठ | वेब पृष्ठों]] की सेवा करना, या मशीन-पठनीय [[वेब सेवा]] इंटरफेस प्रदान करना है। | ||
==== पुश- | ==== पुश-बेस्ड के प्रति पुल्ल-बेस्ड ==== | ||
अधिकांश एमवीसी | अधिकांश एमवीसी आकृति आधारित संरचना का पालन करते हैं जिसे क्रिया-आधारित भी कहा जाता है। ये आकृति उन क्रियाओं का उपयोग करते हैं जो आवश्यक प्रसंस्करण करते हैं, एवं फिर परिणाम प्रस्तुत करने के लिए डेटा को व्यू लेयर पर विस्तापित करते हैं।<ref>{{cite web | ||
| last = Thomson | | last = Thomson | ||
| first = Kris | | first = Kris | ||
| Line 32: | Line 31: | ||
| url=https://www.theserverside.com/discussions/thread/22143.html | | url=https://www.theserverside.com/discussions/thread/22143.html | ||
| date = 2003-10-29 | | date = 2003-10-29 | ||
| access-date = 2007-07-29 }}</ref> डिजानगो (वेब फ्रेमवर्क), रूबी ऑन रेल्स, सिम्फनी, | | access-date = 2007-07-29 }}</ref> डिजानगो (वेब फ्रेमवर्क), रूबी ऑन रेल्स, सिम्फनी, स्प्रिंगएमवीसी, [[ पट्टियां (ढांचा) |आकृति]], साइलस.जेएस, [[CodeIgniter|कोडेल्गिनेटर]]<ref>{{cite web|url=https://cwiki.apache.org/confluence/display/WW/What+are+the+fundamental+differences+between+Struts+and+JSF |title=स्ट्रट्स और जेएसएफ के बीच मूलभूत अंतर क्या हैं|publisher=Struts.apache.org |date=2011-02-14 |access-date=2013-06-14}}</ref> इस वास्तुकला के अच्छे उदाहरण हैं। इसका विकल्प पुल आधारित संरचना है, जिसे कभी-कभी घटक आधारित भी कहा जाता है। ये आकृति दृश्य परत से प्रारम्भ होते हैं, जो आवश्यकतानुसार कई नियंत्रकों से परिणाम प्राप्त सकते हैं। इस संरचना में, दृश्य के साथ कई नियंत्रकों को सम्मलित किया जा सकता है। लिफ्ट (वेब फ्रेमवर्क), [[टेपेस्ट्री (प्रोग्रामिंग)]], [[ जेबीएसएस सीम |जेबीएसएस सीम,]] जकार्ता सर्वर फेसेस एवं [[अपाचे विकेट]] पुल आधारित संरचना के उदाहरण हैं। [[Play Framework|प्ले फ्रेमवर्क]], [[Apache Struts|अपाचे स्ट्रटस]], रिफे (आकृति) में पुश एवं पुल आधारित एप्लिकेशन नियंत्रक कॉल का समर्थन करता है। | ||
=== त्रिस्तरीय संगठन === | === त्रिस्तरीय संगठन === | ||
त्रिस्तरीय | त्रिस्तरीय संरचना में तीन-स्तरीय संगठन, अनुप्रयोगों को तीन भौतिक स्तरों के आतंरिक क्लाइंट, एप्लिकेशन एवं डेटाबेसरिफे संरचित किया जाता है।<ref>{{cite web | url=http://msdn.microsoft.com/en-us/library/ff647546.aspx | title=त्रिस्तरीय वितरण| author=Microsoft | access-date=2011-09-19 }}</ref><ref>{{cite web | url=http://download.oracle.com/docs/cd/E10316_01/cs/cs_doc_10/documentation/integrator/clustering_concepts_10en.pdf | title=clustering_concepts_10en | author=Oracle | access-date=2011-09-19}}</ref><ref>{{cite web | url= http://www.sis.pitt.edu/~perkoski/is1092/slides/chapter01.ppt | title=वेब विकास का परिचय| author=Robert R. Perkoski |archive-url=https://web.archive.org/web/20131107052241/http://www.sis.pitt.edu/~perkoski/is1092/slides/chapter01.ppt | archive-date=2013-11-07}}</ref><ref>{{cite web | url=http://publib.boulder.ibm.com/html/as400/v5r1/ic2933/index.htm?info/rzaii/rzaiithreetier.htm | title= तीन स्तरीय वातावरण में क्लाइंट एक्सेस एक्सप्रेस का उपयोग करना| author=IBM | access-date=2011-09-19}}</ref> डेटाबेस समान्यतः [[ संबंधपरक डेटाबेस प्रबंधन प्रणाली |संबंधपरक डेटाबेस प्रबंधन प्रणाली]] होता है। एप्लिकेशन में व्याज्ञात तर्क को सर्वर पर प्रस्तुत है एवं [[HTTP|एचटीटीपी]] का उपयोग कर क्लाइंट के साथ संचार करता है।<ref>{{cite web | url=http://download.oracle.com/docs/cd/B25221_05/web.1013/b13593/undtldev010.htm | title=थ्री-टियर आर्किटेक्चर को समझना| author=Oracle | access-date=2011-09-19}}</ref> वेब एप्लिकेशन पर क्लाइंट वेब ब्राउज़र है जो एप्लिकेशन लेयर द्वारा उत्पन्न एचटीएमएल को चलाता है।<ref>{{cite web | url=http://msdn.microsoft.com/en-us/library/aa905336.aspx | title=Pragmatic Architecture: Layering | author=Microsoft | access-date=2011-09-19}}</ref><ref>{{cite web | url=http://www.arokiait.com/3-tire-web-architechture.htm | title=3-Tier Web Architecture | author=Arokia | access-date=2011-09-19}}</ref> इस शब्द को एमवीसी के साथ भ्रमित नहीं होना चाहिए, जहां, त्रिस्तरीय वास्तुकला के विपरीत, व्यावसायिक तर्क को नियंत्रक, मध्य परत से दूर रखने के लिए उत्तम अभ्यास माना जाता है।<ref>{{cite web|url=http://www.arrangeactassert.com/asp-net-mvc-controller-best-practices-–-skinny-controllers/ |title=ASP.NET MVC नियंत्रक सर्वोत्तम अभ्यास|access-date=2011-09-19 |url-status=dead |archive-url=https://web.archive.org/web/20111011174215/http://www.arrangeactassert.com:80/asp-net-mvc-controller-best-practices-%E2%80%93-skinny-controllers/ |archive-date=2011-10-11 }}</ref><ref>{{cite web | url=http://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model | title=पतला नियंत्रक, मोटा मॉडल| author=Jamis Buck |archive-url=https://web.archive.org/web/20150516021854/http://www.arrangeactassert.com/asp-net-mvc-controller-best-practices-%E2%80%93-skinny-controllers/ | archive-date=2015-05-16}}</ref> | ||
== फ्रेमवर्क एप्लिकेशन == | == फ्रेमवर्क एप्लिकेशन == | ||
प्रोग्रामिंग भाषा के आधार पर इंटरनेट अनुप्रयोगों के निर्माण का समर्थन करने के लिए फ्रेमवर्क बनाए गए हैं, जिसमें ज़ेंड फ्रेमवर्क | प्रोग्रामिंग भाषा के आधार पर इंटरनेट अनुप्रयोगों के निर्माण का समर्थन करने के लिए फ्रेमवर्क बनाए गए हैं, जिसमें ज़ेंड फ्रेमवर्क एवं रूबी ऑन रेल्स जैसे सामान्य प्रयोजन के उपकरण सम्मलित हैं, जो विशिष्ट भाषा की क्षमताओं को विस्तरित करते हैं, मूल भाषा प्रोग्राम करने योग्य पैकेजों के समीप निर्मित होते हैं। विशिष्ट उपयोगकर्ता अनुप्रयोग, जैसे [[सामग्री प्रबंधन प्रणाली]], कुछ मोबाइल विकास उपकरण एवं कुछ पोर्टल उपकरण हैं।<ref>{{Cite news|url=https://www.wired.com/2010/02/get_started_with_web_frameworks/|title=वेब फ्रेमवर्क के साथ शुरुआत करना|publisher=[[Wired Magazine]]|access-date=2018-04-02|language=en}}</ref> | ||
=== सामान्य-उद्देश्य | === सामान्य-उद्देश्य वेबसाइट फ्रेमवर्क === | ||
वेब फ्रेमवर्क को ब्राउजर के | वेब फ्रेमवर्क को ब्राउजर के नियमों एवं [[ हाइपरटेक्स्ट परहस्त शिष्टाचार |हाइपरटेक्स्ट]] जैसे [[संचार प्रोटोकॉल]] के अनुसार कार्य करना चाहिए, जो कि [[स्टेटलेस प्रोटोकॉल]] है। वेबपेज [[सर्वर (कंप्यूटिंग)]] द्वारा सर्व किए जाते हैं एवं फिर [[जावास्क्रिप्ट]] का उपयोग करके ब्राउज़र द्वारा संशोधित किए जा सकते हैं। किसी भी दृष्टिकोण के अपने लाभ एवं हानि हैं। | ||
सर्वर-साइड पृष्ठ परिवर्तनों के लिए समान्यतः | सर्वर-साइड पृष्ठ परिवर्तनों के लिए समान्यतः पृष्ठ को नवनीकृत करने की आवश्यकता होती है, परन्तु किसी भी भाषा का उपयोग करने एवं अधिक कंप्यूटिंग शक्ति का उपयोग करने की अनुमति देता है। क्लाइंट-साइड परिवर्तन पेज को अर्घ खंडो में अपडेट करने की अनुमति देते हैं जो डेस्कटॉप एप्लिकेशन के जैसे लगता है, परन्तु जावा स्क्रिप्ट तक सीमित है एवं उपयोगकर्ता के ब्राउज़र में प्रचलित है, जिसमें सीमित कंप्यूटिंग शक्ति हो सकती है। दोनों के कुछ मिश्रण का समान्यतः उपयोग किया जाता है।<ref>{{Cite web|url=https://spin.atomicobject.com/2015/04/06/web-app-client-side-server-side/|title=Web Application Architecture – Client-Side vs. Server-Side|last=KLIMUSHYN|first=Mel|website=Atomic Spin|date=6 April 2015|access-date=2016-03-06}}</ref> एप्लिकेशन जो जावास्क्रिप्ट का अधिक उपयोग करते हैं एवं केवल पृष्ठ के कुछ भागों का नवीकरण करते हैं, उन्हें [[ एक पेज का आवेदन |पेज का आवेदन]] कहा जाता है एवं समान्यतः कोड को व्यवस्थित करने के लिए क्लाइंट-साइड जावास्क्रिप्ट वेब फ्रेमवर्क का उपयोग करते हैं। | ||
==== सर्वर-साइड ==== | ==== सर्वर-साइड ==== | ||
| Line 56: | Line 55: | ||
*डिजानगो (वेब फ्रेमवर्क) | *डिजानगो (वेब फ्रेमवर्क) | ||
* [[फ्लास्क (वेब फ्रेमवर्क)]] | * [[फ्लास्क (वेब फ्रेमवर्क)]] | ||
* | *जाम.पीवाई (वेब फ्रेमवर्क) | ||
*यी | *यी | ||
* लारवेल | * लारवेल | ||
*मोजोलिशियस | *मोजोलिशियस | ||
*रूबी ऑन रेल्स | *रूबी ऑन रेल्स | ||
*पाल. | *पाल.जेएस | ||
* सिम्फनी | * सिम्फनी | ||
* | *वसंतएमवीसी | ||
* [[Wt (वेब टूलकिट)]] | * [[Wt (वेब टूलकिट)|डब्ल्यूटी (वेब टूलकिट)]] | ||
* ज़ेंड फ्रेमवर्क | * ज़ेंड फ्रेमवर्क | ||
==== क्लाइंट-साइड ==== | ==== क्लाइंट-साइड ==== | ||
{{Main article| | {{Main article|सिंगल पेज एप्लीकेशन}} | ||
उदाहरणों में बैकबोन , [[AngularJS| | उदाहरणों में बैकबोन , [[AngularJS|एंगुलर जेएस]], एंगुलर (एप्लीकेशन प्लेटफॉर्म), [[EmberJS|एम्बर]] [[AngularJS|जेएस]], रियेक्ट (जावास्क्रिप्ट लाइब्रेरी), [[jQuery UI|जक्वेरी यूआई]], [[Svelte|स्वेल्टे]], एवं वीयूई सम्मलित हैं।<ref>{{Cite web|url=https://www.airpair.com/js/javascript-framework-comparison|title=एंगुलरजेएस बनाम बैकबोन.जेएस बनाम एम्बर.जेएस|website=www.airpair.com|language=en-US|access-date=2016-06-04}}</ref> | ||
=== | === विचार, विकी एवं वेबलॉग === | ||
*विकीबेस | *विकीबेस | ||
== विशेषताएं == | == विशेषताएं == | ||
फ्रेमवर्क समान्यतः प्रोग्राम के नियंत्रण प्रवाह को | फ्रेमवर्क समान्यतः प्रोग्राम के नियंत्रण प्रवाह को समायोजित करते हैं एवं फ्रेमवर्क के उपयोगकर्ता को विभिन्न घटनाओं को प्रकाशित करके उस प्रवाह में सम्मलित होने की अनुमति देते हैं।<ref name=":0">{{Cite web|url=http://martinfowler.com/bliki/InversionOfControl.html|title=bliki: InversionOfControl|last=Fowler|first=Martin|website=martinfowler.com|access-date=2016-03-06}}</ref> नियंत्रण डिजाइन पैटर्न के इस व्युत्क्रम को आकृति के परिभाषित सिद्धांत के रूप में माना जाता है, एवं समूह के लिए सामान्य प्रवाह को प्रस्तावित करके कोड को लाभ पहुंचाता है जिसे कोई समान उपायों से अनुकूलित कर सकता है।<ref name=":0" />उदाहरण के लिए, कुछ लोकप्रिय माइक्रोफ़्रेमवर्क जैसे रूबी (सॉफ़्टवेयर) एचटीटीपी अनुरोधों से पूर्व एवं पश्चात में मिडलवेयर हुक की अनुमति देता है। ये मिडलवेयर प्रोग्राम कुछ भी हो सकते हैं, एवं उपयोगकर्ता को लॉगिंग, प्रमाणीकरण एवं सत्र प्रबंधन एवं पुनर्निर्देशन को परिभाषित करने की अनुमति देते हैं।<ref>{{Cite web|url=http://www.capitalone.io/blog/successful-framework-philosophies/|title=Capital One Engineering – Philosophies that Shaped Successful Frameworks|last=Xue|first=Qiang|website=www.capitalone.io|access-date=2016-03-06}}</ref> | ||
=== वेब टेम्पलेट | === वेब टेम्पलेट प्रणाली === | ||
{{Main article| | {{Main article|वेब टेम्पलेट प्रणाली }} | ||
=== कैशिंग === | === कैशिंग === | ||
{{Main article| | {{Main article|वेब कैश}} | ||
[[बैंडविड्थ (कंप्यूटिंग)]] उपयोग, [[वेब सर्वर]] [[लोड (कंप्यूटिंग)]], | [[बैंडविड्थ (कंप्यूटिंग)]] उपयोग, [[वेब सर्वर]] [[लोड (कंप्यूटिंग)|लोड]], एवं कथित [[विलंबता (इंजीनियरिंग)]] को अर्घ करने के लिए वेब [[कैश]] वर्ल्ड वाइड वेब [[इलेक्ट्रॉनिक दस्तावेज़]] का वेब कैश है।वेब कैश इसके माध्यम से निकलने वाले प्रपत्रों की प्रतियों को संग्रहीत करता है; यदि कुछ नियमों को पूर्ण किया जाता है तो उसके पश्चात के अनुरोध कैश से संतुष्ट हो सकते हैं। कुछ एप्लिकेशन फ्रेमवर्क दस्तावेज़ों को कैशिंग करने एवं पृष्ठ की संयोजना के विभिन्न चरणों, जैसे डेटाबेस एक्सेस या टेम्प्लेट व्याख्या, को पूर्ण करने के लिए तंत्र प्रदान करते हैं। | ||
=== सुरक्षा === | === सुरक्षा === | ||
{{Main article| | {{Main article|वेब अनुप्रयोग सुरक्षा}} | ||
कुछ वेब | कुछ वेब आकृति [[प्रमाणीकरण]] एवं प्राधिकरण आकृति के साथ आते हैं, जो वेब सर्वर को एप्लिकेशन के उपयोगकर्ताओं की पहचान करने में सक्षम बनाते हैं, एवं कुछ परिभाषित मानदंडों के आधार पर कार्यों तक पहुँच को प्रतिबंधित करते हैं। [[Drupal|द्रुपल]] ऐसा उदाहरण है जो पृष्ठों तक भूमिका-आधारित पहुँच प्रदान करता है, एवं उपयोगकर्ताओं को बनाने एवं उन्हें भूमिकाएँ अधिकृत करने के लिए वेब-आधारित इंटरफ़ेस प्रदान करता है। | ||
===डेटाबेस एक्सेस, मैपिंग | ===डेटाबेस एक्सेस, मैपिंग एवं कॉन्फ़िगरेशन === | ||
कई वेब फ्रेमवर्क डेटाबेस बैकएंड के लिए एकीकृत एपीआई बनाते हैं, जिससे वेब एप्लिकेशन विभिन्न प्रकार के डेटाबेस के साथ बिना किसी कोड परिवर्तन के | कई वेब फ्रेमवर्क डेटाबेस बैकएंड के लिए एकीकृत एपीआई बनाते हैं, जिससे वेब एप्लिकेशन विभिन्न प्रकार के डेटाबेस के साथ बिना किसी कोड परिवर्तन के कार्य कर सकते हैं, एवं प्रोग्रामर को उच्च-स्तरीय अवधारणाओं के साथ कार्य करने की अनुमति देते हैं। इसके अतिरिक्त, कुछ [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग ]] ऑब्जेक्ट-ओरिएंटेड फ्रेमवर्क में [[ऑब्जेक्ट-रिलेशनल मैपिंग]] प्रदान करने के लिए मैपिंग उपकरण होते हैं, जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग को टुपल्स में मैप करते हैं।<ref name="ActiveRecordBasics">{{cite web |url=https://guides.rubyonrails.org/active_record_basics.html |title=सक्रिय रिकॉर्ड मूल बातें|website=Ruby on Rails |access-date=March 20, 2021 |quote=Object Relational Mapping, commonly referred to as its abbreviation ORM, is a technique that connects the rich objects of an application to tables in a relational database management system...Active Record automatically creates methods to allow an application to read and manipulate data stored within its tables.}}</ref> कुछ आकृति [[आत्मनिरीक्षण (कंप्यूटर विज्ञान)]] एवं प्रसिद्ध सम्मेलनों के उपयोग के माध्यम से वेब एप्लिकेशन कॉन्फ़िगरेशन को अर्घ करते हैं। उदाहरण के लिए, कई जावा फ्रेमवर्क [[हाइबरनेट (जावा)]] को दृढ़ता परत के रूप में उपयोग करते हैं, जो आवश्यक जानकारी को बनाए रखने में सक्षम रनटाइम पर डेटाबेस स्कीमा उत्पन्न कर सकता है। यह एप्लिकेशन डिज़ाइनर को डेटाबेस स्कीमा को स्पष्ट रूप से परिभाषित करने की आवश्यकता के बिना व्यावसायिक वस्तुओं को डिज़ाइन करने की अनुमति देता है। रूबी ऑन रेल्स जैसे फ्रेमवर्क रिवर्स में भी कार्य कर सकते हैं, अर्थात डेटाबेस स्कीमा के आधार पर रनटाइम पर मॉडल ऑब्जेक्ट्स के गुणों को परिभाषित करते हैं।<ref name="ActiveRecordBasics" /> | ||
कुछ | |||