दिलचस्प पोस्ट
.delay () और .setTimeout () कैसे दो कुंजी (कुंजी-जोड़ी, मूल्य) के साथ एक हैशमैम बनाने के लिए? मैक आईडी पाने के लिए एआरपी कैश की क्वेरी करें अनुरोध HTTP अनुरोध पैरामीटर उपलब्ध नहीं हैं। GetAttribute () अपनी साइट के लिए Google क्रोम ऑम्निबॉक्स-खोज समर्थन जोड़ने के लिए कैसे करें? मेमोरी आवंटन "त्रुटि: 75.1 एमबी आकार के वेक्टर आवंटित नहीं कर सकता" वसंत डेटा खजाने वास्तव में कैसे लागू होते हैं? जावा में चरम सीमा और स्ट्रिंग के बीच सटीक अंतर एंड्रॉइड: कार्यवाही के कस्टम लेआउट से बाईं मार्जिन को निकालें DriverManager getConnection के लिए कनेक्शन समयबाह्य इसे स्क्रीन पर रखते हुए पाइप स्टडआउट कैसे करें? (और एक आउटपुट फ़ाइल नहीं) mysql_fetch_array () / mysql_fetch_assoc () / mysql_fetch_row () पैरामीटर 1 संसाधन होने की उम्मीद है वीबीए के साथ फ़िल्टर्ड सूची के माध्यम से लूप का सबसे आसान तरीका? स्ट्रिंग से ट्यूपल को पार्स करते हैं? स्प्लिट स्ट्रिंग दिए गए और केस स्टेटमेंट तैयार करें

अनुप्रयोग सर्वर और वेब सर्वर में क्या अंतर है?

अनुप्रयोग सर्वर और वेब सर्वर में क्या अंतर है?

Solutions Collecting From Web of "अनुप्रयोग सर्वर और वेब सर्वर में क्या अंतर है?"

अधिकांश समय इन शर्तों वेब सर्वर और एपलीकेशन सर्वर एक दूसरे के लिए उपयोग किए जाते हैं

वेब सर्वर और एपलीकेशन सर्वर की सुविधाओं में निम्नलिखित प्रमुख अंतर हैं:

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

ऐसे कॉन्फ़िगरेशन का उदाहरण अपाचे टोमैक HTTP सर्वर और ओरेकल (पूर्व में BEA) वेबलोगिक सर्वर है अपाचे बिलाव HTTP सर्वर वेब सर्वर है और ओरेकल वेबलॉगिक अनुप्रयोग सर्वर है

कुछ मामलों में सर्वर कसकर एकीकृत हैं IIS और .NET रनटाइम IIS वेब सर्वर है जब एनटीटी रनटाइम पर्यावरण से सुसज्जित है, IIS अनुप्रयोग सेवाएं प्रदान करने में सक्षम है।

दोनों शब्द बहुत सामान्य हैं, कुछ मामलों में दूसरे वाला और इसके विपरीत।

  • वेब सर्वर : http प्रोटोकॉल का उपयोग कर वेब पर सामग्री की सुविधा देता है।

  • अनुप्रयोग सर्वर : मेजबान और व्यापार तर्क और प्रक्रियाओं को उजागर करता है

मुझे लगता है कि मुख्य बिंदु यह है कि वेब सर्वर HTTP प्रोटोकॉल के माध्यम से सब कुछ उजागर करता है, जबकि एप्लिकेशन सर्वर इसके लिए प्रतिबंधित नहीं है

उसने कहा, कई परिदृश्यों में आपको पता चल जाएगा कि वेब सर्वर का इस्तेमाल अनुप्रयोग सर्वर के फ्रंट-एंड को बनाने के लिए किया जा रहा है, अर्थात यह वेब पेजों का एक सेट प्रदर्शित करता है जो प्रयोक्ता को व्यावसायिक नियमों के साथ बातचीत करने की अनुमति देता है अनुप्रयोग सर्वर।

यह कुछ परिदृश्यों के साथ एक विस्तृत उत्तर है जिसमें अंतर, समानता और स्पष्ट रूप से समझने के तरीके शामिल हैं कि दोनों संयोजन और सभी में काम कर सकते हैं

अनुप्रयोग सर्वर एक शब्द है जिसे कभी-कभी वेब सर्वर के साथ मिलाया जाता है जबकि एक वेब सर्वर मुख्य रूप से एचटीटीपी प्रोटोकॉल का संचालन करता है , एपीआई सर्वर HTTP के लिए कई अलग-अलग प्रोटोकॉल के साथ सौदे करता है, लेकिन सीमित नहीं है

वेब सर्वर का मुख्य काम साइट सामग्री को प्रदर्शित करना है और एप्लिकेशन सर्वर तर्क के प्रभार है , उपयोगकर्ता और प्रदर्शित सामग्री के बीच संपर्क। अनुप्रयोग सर्वर वेब सर्वर के साथ संयोजन में काम कर रहा है , जहां एक प्रदर्शित करता है और दूसरा एक इंटरैक्ट होता है।

सर्वर और उसके क्लाइंट के बीच आगे और पीछे की जाने वाली जानकारी सरल प्रदर्शन मार्कअप तक सीमित नहीं है, लेकिन दोनों के बीच बातचीत के लिए।

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

यहां छवि विवरण दर्ज करें

एक उदाहरण:

परिदृश्यों के बीच के अंतर को समझने का सबसे अच्छा तरीका जहां एक अनुप्रयोग सर्वर वेब सर्वर के साथ एक परिदृश्य बनाम काम करता है जहां कोई ऐप्लीकेशन सर्वर नहीं है एक ऑनलाइन स्टोर के माध्यम से।

परिदृश्य 1: वेब सर्वर बिना एक अनुप्रयोग सर्वर

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

परिदृश्य 2: एक सर्वर के साथ वेब सर्वर

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

इस तरह के जटिल कार्यों को समर्थन देने के लिए इस सर्वर को रिडंडेंसी, महान प्रसंस्करण शक्ति और उच्च मात्रा में रैम का निर्माण करना चाहिए ताकि सभी डेटा को वास्तविक समय में खींचा जा सके।

उम्मीद है की यह मदद करेगा।

जैसा कि रितेश और जेम्सेरवा ने बताया, भेद एक फजी एक है। ऐतिहासिक रूप से, वे अलग-अलग थे, लेकिन 90 के इन दो पूर्ववर्ती अलग-अलग श्रेणियों में मिश्रित सुविधाओं और प्रभावी ढंग से विलय कर दिए गए थे। इस बिंदु पर शायद यह सोचना सबसे अच्छा होगा कि "ऐप सर्वर" उत्पाद श्रेणी "वेब सर्वर" श्रेणी का सख्त सुपरसेट है

कुछ इतिहास मोज़ेक ब्राउज़र और हाइपरलिंक्ड सामग्री के शुरुआती दिनों में, इस चीज़ को "वेब सर्वर" कहा जाता है, जो वेब पेज की सामग्री और HTTP पर छवियां दिखाती है। अधिकांश सामग्री स्थिर थी, और HTTP 1.0 प्रोटोकॉल केवल फ़ाइलों को चलाने के लिए एक तरीका था। सीजीआई क्षमता को शामिल करने के लिए जल्दी से "वेब सर्वर" श्रेणी विकसित की गई – गतिशील सामग्री को उत्पन्न करने के लिए प्रत्येक वेब अनुरोध पर प्रभावी रूप से एक प्रक्रिया शुरू की गई। HTTP भी परिपक्व हो गया और उत्पादों को और अधिक परिष्कृत किया गया, कैशिंग, सुरक्षा और प्रबंधन सुविधाओं के साथ। चूंकि तकनीक परिपक्व हो गई, हमने किवा और नेटडिनेक्सिक्स से कंपनी-विशिष्ट जावा-आधारित सर्वर-साइड प्रौद्योगिकी प्राप्त की, जो अंततः सभी जेएसपी में विलय हो गए। माइक्रोसॉफ्ट ने एएसपी जोड़ लिया, मुझे लगता है कि 1996 में, विंडोज एनटी 4.0 के लिए। स्थैतिक वेब सर्वर ने कुछ नई तरकीबें सीखा, ताकि यह कई परिदृश्यों के लिए एक प्रभावी "ऐप सर्वर" हो।

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

उच्च भार, अधिक संगामिति और बेहतर सुविधाओं को संभालने के संबंध में वेब सर्वर को और अधिक परिपक्व किया गया है। ऐप सर्वर ने अधिक से अधिक HTTP- आधारित संचार क्षमता वितरित की है

इस बिंदु पर "एप सर्वर" और "वेब सर्वर" के बीच की पंक्ति एक फजी एक है। लेकिन लोगों को शब्दों का इस्तेमाल अलग-अलग करते रहना है, जोर देने की बात के रूप में। जब कोई व्यक्ति "वेब सर्वर" कहता है तो आप अक्सर HTTP- केंद्रित, वेब UI, उन्मुख ऐप्स मानते हैं। जब कोई व्यक्ति "ऐप सर्वर" कहता है, तो आप "भारी भार, एंटरप्राइज़ फीचर्स, लेनदेन और रकम, बहु-चैनल संचार (एचटीटीपी + अधिक)" सोच सकते हैं। लेकिन अक्सर यह वही उत्पाद होता है जो वर्कलोड आवश्यकताओं के दोनों सेट पर काम करता है

  • वेबस्प्रे, आईबीएम के "एप सर्वर" का अपना बंडल वेब सर्वर है
  • वेबलोगिक, एक और पारंपरिक एप सर्वर, इसी तरह
  • विंडोज, जो माइक्रोसॉफ्ट के ऐप सर्वर है (इसके फाइल और प्रिंट सर्वर, मीडिया सर्वर, आदि के अलावा), बंडल आईआईएस

जैसा कि कई लोगों ने पहले कहा है, वेब सर्वर HTTP अनुरोधों को संभालता है, जबकि अनुप्रयोग सर्वर वितरित घटकों के लिए याचिकाएं संभालता है। इसलिए, अंतर को समझने का सबसे आसान तरीका उन प्रोग्रामिंग माहौल के संबंध में दो उत्पादों की तुलना करना है जो वे पेशकश करते हैं।

वेब सर्वर -> प्रोग्रामिंग पर्यावरण

आईआईएस: एएसपी (.नेट)

बिलाव: सर्वलेट

जेटी: सर्वलेट

अपाचे: पीएचपी, सीजीआई

अनुप्रयोग सर्वर -> प्रोग्रामिंग पर्यावरण

एमटीएस: COM +

था: ईजेबी

जेबीस: ईजेबी

वेबलॉगिक अनुप्रयोग सर्वर: ईजेबी

महत्वपूर्ण अंतर यह है कि अनुप्रयोग सर्वर कुछ वितरित घटक प्रौद्योगिकी का समर्थन करते हैं, जैसे कि दूरस्थ आवेश और वितरित लेनदेन जैसे जावा दुनिया में ईजेबी या माइक्रोसॉफ्ट प्लेटफॉर्म पर COM + जैसी सुविधाओं को प्रदान करते हैं। एचटीपी सर्वर अक्सर माइक्रोसॉफ्ट या सर्लेट आधारित, एएसपी (एनएटी) जैसी कई अन्य सरल प्रोग्रामिंग वातावरणों का समर्थन करते हैं, जिनमें एएसपी (जेएसपी) और जावा या PHP और सीजीआई के मामले में अपाचे

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

अंत में, यह ध्यान देने योग्य है कि चित्र "स्प्रिंग फ्रेमवर्क" जैसे "हल्के कंटेनर" के साथ विकृत हो जाते हैं, जो अक्सर अनुप्रयोग सर्वर के उद्देश्य को और अधिक सरल तरीके से और बिना अनुप्रयोग सर्वर आधारभूत संरचना में पूरक करते हैं। और जब से अनुप्रयोगों में वितरण पहलू वितरित घटक से सेवा प्रतिमान और एसओए वास्तुकला की ओर बढ़ रहा है, पारंपरिक अनुप्रयोग सर्वरों के लिए कम और कम स्थान बचा है।

वेब सर्वर

python -m 'SimpleHTTPServer' और http: // localhost: 8080 पर जाएं । आप जो देख रहे हैं वह अपने कामकाज पर एक वेब सर्वर है सर्वर बस आपके कंप्यूटर पर संग्रहीत HTTP से अधिक फ़ाइलों को सेवा देता है। मुख्य बिंदु यह है कि यह सब HTTP प्रोटोकॉल के शीर्ष पर किया जाता है। उदाहरण के लिए एफ़टीपी सर्वर भी मौजूद हैं जो वही चीज (संग्रहित फाइलों की सेवा) करते हैं, लेकिन एक अलग प्रोटोकॉल के ऊपर।

अनुप्रयोग सर्वर

हम नीचे की तरह एक छोटे से आवेदन ( फ्लास्क से स्निपेट) कहो।

 @app.route('/') def homepage(): return '<html>My homepage</html>' @app.route('/about') def about(): return '<html>My name is John</html>' 

छोटे उदाहरण कार्यक्रम यूआरएल / फ़ंक्शन homepage() /about और /about में फ़ंक्शन के about()

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

सभी अन्य लोगों के बारे में व्यापारिक तर्क क्या है? ठीक है, चूंकि किसी यूआरएल को विशेष रूप से हमारे कोडबेस में कहीं न कहीं, हम इस बारे में कुछ तर्क दिखा रहे हैं कि हमारे कार्यक्रम कैसे काम करता है।


recapping

वेब सर्वर – कहीं भी संग्रहीत फ़ाइलों को सेवाएं प्रदान करता है (सबसे सामान्य। सीएसएस, .एचएमटीएल, .जेएस) सामान्य वेब सर्वर अपाचे, एनजीएनएक्स या यहां तक ​​कि पायथन की सरल एचटीटीपीएस सर्वर है।

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

ध्यान दें कि आप वास्तव में अनुप्रयोग सर्वर के कोड के साथ एक वेब सर्वर बना सकते हैं। यह कुछ मामलों में विकास के दौरान किया जाता है, जहां आप अपने कंप्यूटर पर चल रहे विभिन्न सर्वरों के एक gazillion नहीं करना चाहते हैं।

एक वेब सर्वर विशेष रूप से HTTP / HTTPS अनुरोध संभालता है। यह HTTP / HTTPS प्रोटोकॉल का उपयोग कर वेब पर सामग्री की सुविधा देता है।

एक अनुप्रयोग सर्वर, व्यावसायिक प्रोटोकॉल के किसी भी संख्या के माध्यम से संभावित रूप से HTTP सहित व्यावसायिक प्रोग्राम को लॉन्च करता है एप्लिकेशन प्रोग्राम इस तर्क का उपयोग कर सकता है, क्योंकि यह एक ऑब्जेक्ट पर एक विधि कॉल करेगा। अधिकांश मामलों में, सर्वर एक घटक एपीआई जैसे ईजेबी (एंटरप्राइज़ जावाबीन) घटक मॉडल जावा ईई (जावा प्लेटफार्म, एंटरप्राइज़ एडिशन) एप्लीकेशन सर्वर पर मिलाकर इस व्यावसायिक तर्क को उजागर करता है मुख्य बिंदु यह है कि वेब सर्वर HTTP प्रोटोकॉल के माध्यम से सब कुछ उजागर करता है, जबकि एप्लिकेशन सर्वर इसके लिए प्रतिबंधित नहीं है। ऐप्लीकेशन सर्वर इस प्रकार एक वेब सर्वर की तुलना में बहुत अधिक सेवाएं प्रदान करता है जिसमें आम तौर पर शामिल होता है:

  • ए (स्वामित्व या नहीं) एपीआई
  • लोड संतुलन, विफल हो …
  • उद्देश्य जीवन चक्र प्रबंधन
  • राज्य प्रबंधन (सत्र)
  • संसाधन प्रबंधन (जैसे डेटाबेस के लिए कनेक्शन पूल)

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

एक अनुप्रयोग सर्वर प्रोग्राम लॉजिक निष्पादित करने के लिए वेब सर्वर पर (लेकिन हमेशा नहीं) चला सकता है, जिसके परिणामस्वरूप वेब सर्वर द्वारा वितरित किया जा सकता है यह एक वेब सर्वर / अनुप्रयोग सर्वर परिदृश्य का एक उदाहरण है Microsoft दुनिया में एक अच्छा उदाहरण इंटरनेट सूचना सर्वर / SharePoint सर्वर संबंध है आईआईएस एक वेब सर्वर है; SharePoint एक अनुप्रयोग सर्वर है SharePoint आईआईएस के "शीर्ष पर" बैठता है, विशिष्ट तर्क निष्पादित करता है, और IIS के माध्यम से परिणामों को पूरा करता है। जावा दुनिया में, उदाहरण के लिए, अपाचे और टोमैक के साथ एक समान परिदृश्य है।

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

ऐसे कॉन्फ़िगरेशन का उदाहरण अपाचे HTTP सर्वर और BEA WebLogic सर्वर है अपाचे HTTP सर्वर वेब सर्वर है और BEA WebLogic अनुप्रयोग सर्वर है कुछ मामलों में, सर्वर कसकर एकीकृत हैं IIS और .NET रनटाइम IIS वेब सर्वर है जब एनटीटी रनटाइम पर्यावरण से लैस आईआईएस अनुप्रयोग सेवाएं प्रदान करने में सक्षम है


 Web Server Programming Environment Apache PHP, CGI IIS (Internet Information Server) ASP (.NET) Tomcat Servlet Jetty Servlet Application Server Programming Environment WAS (IBM's WebSphere Application Server) EJB WebLogic Application Server (Oracle's) EJB JBoss AS EJB MTS COM+ 

संक्षेप में एक वेब सर्वर एक ऐसा सर्वर है जो उपयोगकर्ताओं के लिए वेब पृष्ठों को http के माध्यम से कार्य करता है। एक अनुप्रयोग सर्वर एक ऐसा सर्वर है जो सिस्टम के लिए व्यावसायिक तर्क को होस्ट करता है। यह अक्सर दोनों लंबे समय से चलने / बैच प्रक्रियाओं और / या मानव उपभोग (आरईएसटी / जेएसओएन सेवाओं, सोप, आरपीसी, आदि) के लिए नहीं होने वाली इंटरॉप सेवाओं की मेजबानी करता है।

एक वेब सर्वर वेब पेज की सेवा के लिए HTTP प्रोटोकॉल चलाता है। एक अनुप्रयोग सर्वर प्रोग्राम लॉजिक निष्पादित करने के लिए वेब सर्वर पर (लेकिन हमेशा नहीं) चला सकता है, जिसके परिणामस्वरूप वेब सर्वर द्वारा वितरित किया जा सकता है यह एक वेब सर्वर / अनुप्रयोग सर्वर परिदृश्य का एक उदाहरण है

Microsoft दुनिया में एक अच्छा उदाहरण इंटरनेट सूचना सर्वर / SharePoint सर्वर संबंध है आईआईएस एक वेब सर्वर है; SharePoint एक अनुप्रयोग सर्वर है SharePoint आईआईएस के "शीर्ष पर" बैठता है, विशिष्ट तर्क निष्पादित करता है, और IIS के माध्यम से परिणामों को पूरा करता है।

जावा दुनिया में, उदाहरण के लिए, अपाचे और टोमैक के साथ एक समान परिदृश्य है।

एक आवेदन सर्वर आमतौर पर तैयार किया गया है और अब चलने वाली प्रक्रियाओं को सुविधाजनक बनाने के लिए तैनात किया गया है जो कि अधिक संसाधन गहन भी होगा।

एक वेब सर्वर संक्षिप्त फटने के लिए उपयोग किया जाता है जो कि संसाधनों की गहनता नहीं होती है, आम तौर पर। यह ज्यादातर वेब आधारित यातायात की सेवा करने के लिए है।

इन दोनों के बीच की सीमा कभी पतली हो रही है।

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

लेकिन वेब सर्वर एचटीएमएल सामग्री वेब ब्राउजर से गुजरता है (सख्ती से HTTP आधारित)। वेब सर्वर केवल स्थैतिक वेब संसाधनों को संभालने में सक्षम थे, लेकिन सर्वर साइड स्क्रिप्टिंग के उद्भव में वेब सर्वर को गतिशील सामग्रियों को भी संभालने में मदद मिली। जहां वेब सर्वर अनुरोध लेता है और क्लाइंट को भेजा जाने वाला HTML कन्टैंट बनाने के लिए स्क्रिप्ट (PHP, जेएसपी, सीजीआई लिपियों आदि) को निर्देश देता है। तब वेब सर्वर जानता है कि उन्हें क्लाइंट को कैसे वापस भेजना है। क्योंकि यह एक वेब सर्वर वास्तव में क्या जानता है।

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

इसलिए इस मामले में दोनों सर्वर प्रभावी तरीके से उपयोग किए गए थे

इसलिए …. हम काफी सुरक्षित रूप से कह सकते हैं कि आजकल में, ज्यादातर मामलों में, वेब सर्वर का इस्तेमाल अनुप्रयोग सर्वरों के सबसेट के रूप में किया जाता है लेकिन नाटकीय रूप से यह मामला नहीं है।

मैंने इस विषय के बारे में कई लेख पढ़े हैं और यह लेख काफी आसान पाया है।

पहले हाथ पर, वेब सर्वर HTTP प्रोटोकॉल पर वेब सामग्री (HTML और स्थिर सामग्री) प्रदान करता है। दूसरी ओर, एक अनुप्रयोग सर्वर एक कंटेनर है जिस पर आप व्यावसायिक तर्क और प्रक्रियाओं को प्रदर्शित कर सकते हैं और क्लाइंट अनुप्रयोगों को विभिन्न प्रोटोकॉल के माध्यम से शामिल कर सकते हैं जिसमें n-tier architecture में HTTP शामिल है।

ऐप्लीकेशन सर्वर इस प्रकार एक वेब सर्वर की तुलना में बहुत अधिक सेवाएं प्रदान करता है जिसमें आम तौर पर शामिल होता है:

  • ए (स्वामित्व या नहीं) एपीआई
  • उद्देश्य जीवन चक्र प्रबंधन,
  • राज्य प्रबंधन (सत्र),
  • संसाधन प्रबंधन (जैसे डेटाबेस के लिए कनेक्शन पूल),
  • लोड संतुलन, विफल हो …

एएपीएआईके, एटीआईजी डायनमो 90 के दशक के अंत में (सबसे ऊपर परिभाषा के अनुसार) में सबसे पहले आवेदन सर्वर में से एक था। 2000 की शुरुआत में, यह कुछ स्वामित्व अनुप्रयोग सर्वर जैसे कोल्डफ्यूजन (सीएफएमएल एएस), ब्रॉडविजन (सर्वर-साइड जावास्क्रिप्ट एएस), आदि का शासन था। लेकिन कोई भी जावा अनुप्रयोग सर्वर युग से वास्तव में जीवित नहीं था।

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

एक अनुप्रयोग सर्वर एक मशीन है (वास्तव में कुछ मशीन पर चलने वाला निष्पादन योग्य प्रक्रिया) जो कि "सुनता है" (किसी भी चैनल पर, किसी भी प्रोटोकॉल का उपयोग करके) ग्राहकों से उन सभी सेवाओं के लिए अनुरोध करता है, और फिर उन अनुरोधों के आधार पर कुछ करता है (क्लाइंट को एक रिवॉश शामिल कर सकते हैं या हो सकता है)

एक वेब सर्वर एक मशीन पर चल रहा है जो विशेष रूप से "इंटरनेट" प्रोटोकॉल, (http, https, FTP, आदि) में से एक का उपयोग करते हुए टीसीपी / आईपी चैनल पर "सुनता है" और उन आवक अनुरोधों के आधार पर करता है। .. आम तौर पर, (मूल रूप से परिभाषित), इसे प्राप्त / जनरेट किया गया और क्लाइंट में एक HTML वेब पेज लौटा, या तो सर्वर पर एक स्थिर HTML फ़ाइल से प्राप्त किया गया या आने वाले क्लाइंट अनुरोध में पैरामीटर के आधार पर गतिशील रूप से बनाया गया।

सबसे बड़ा अंतर एक वेब सर्वर है, जो HTTP अनुरोधों का संचालन करता है, जबकि एक अनुप्रयोग सर्वर किसी भी संख्या में प्रोटोकॉल पर व्यावसायिक तर्क निष्पादित करेगा।

जरूरी नहीं कि एक स्पष्ट विभाजन रेखा है आजकल, कई कार्यक्रमों में से दोनों के तत्वों को जोड़कर http अनुरोध (वेब ​​सर्वर) और व्यावसायिक तर्क (एप सर्वर)

एक वेब सर्वर या तो एक कंप्यूटर प्रोग्राम या एक कंप्यूटर चलाया जा सकता है जो क्लाइंट से HTTP अनुरोध स्वीकार करने के लिए जिम्मेदार है, वैकल्पिक डेटा सामग्रियों के साथ HTTP प्रतिक्रियाओं को वापस करने के लिए जिम्मेदार है, जो आमतौर पर वेब पेज जैसे कि HTML दस्तावेज़ और लिंक की गई वस्तुएं हैं

एक अनुप्रयोग सर्वर एक ऐसा सॉफ़्टवेयर इंजन है जो विभिन्न एप्लिकेशन को अन्य डिवाइस पर वितरित करेगा। यह कंप्यूटर का एक ऐसा कंप्यूटर या यूनिवर्सिटी नेटवर्क है जो नेटवर्क में हर कोई एक ही मशीन के सॉफ्टवेयर को चलाने की अनुमति देता है।

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

 CDI - Apache OpenWebBeans EJB - Apache OpenEJB JPA - Apache OpenJPA JSF - Apache MyFaces JSP - Apache Tomcat JSTL - Apache Tomcat JTA - Apache Geronimo Transaction Servlet - Apache Tomcat Javamail - Apache Geronimo JavaMail Bean Validation - Apache BVal 

आप देखेंगे कि टोमकैट (वेब ​​कंटेनर / सर्वर) ऐप सर्वर शस्त्रागार में सिर्फ एक उपकरण है यदि आप चाहते हैं, तो आप वेब सर्वर में जेपीए और अन्य तकनीक भी प्राप्त कर सकते हैं, लेकिन एप्लिकेशन सर्वर सिर्फ आपकी सुविधा के लिए इन सभी चीजों को पैकेज कर सकते हैं। एक ऐप सर्वर के रूप में पूरी तरह से वर्गीकृत होने के लिए आपको कुछ मानक द्वारा निर्धारित उपकरणों की सूची का पालन करने की आवश्यकता है।

हालांकि, दोनों के बीच ओवरलैप हो सकता है (कुछ वेब सर्वर भी अनुप्रयोग सर्वर के रूप में उपयोग किए जा सकते हैं) सबसे बड़ा अंतर IMHO प्रसंस्करण मॉडल और सत्र प्रबंधन में है:

वेब सर्वर प्रसंस्करण मॉडल में, फोकस अनुरोधों को संभालने पर है; "सत्र" की धारणा बहुत आभासी है इसका अर्थ यह है कि "सत्र" क्लाइंट और सर्वर (इसलिए आराम) के बीच राज्य के प्रतिनिधित्व को स्थानांतरित करके और / या एक बाह्य सतत भंडारण (एसक्यूएल सर्वर, मेमकेच इत्यादि) को क्रमबद्ध करता है।

अनुप्रयोग सर्वर में सत्र आम तौर पर अधिक स्पष्ट होता है और प्रायः "सत्र" की संपूर्ण अवधि के लिए एप्लिकेशन सर्वर की स्मृति में रहने वाले किसी ऑब्जेक्ट का आकार लेता है।

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

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

पहले हाथ पर, वेब सर्वर HTTP प्रोटोकॉल पर वेब सामग्री (HTML और स्थिर सामग्री) प्रदान करता है। दूसरी ओर, एक अनुप्रयोग सर्वर एक कंटेनर है जिस पर आप व्यावसायिक तर्क और प्रक्रियाओं को प्रदर्शित कर सकते हैं और क्लाइंट अनुप्रयोगों को विभिन्न प्रोटोकॉल के माध्यम से शामिल कर सकते हैं जिसमें n-tier architecture में HTTP शामिल हैं।

ऐप्लीकेशन सर्वर इस प्रकार एक वेब सर्वर की तुलना में बहुत अधिक सेवाएं प्रदान करता है जिसमें आम तौर पर शामिल होता है:

  • ए (स्वामित्व या नहीं) एपीआई
  • उद्देश्य जीवन चक्र प्रबंधन,
  • राज्य प्रबंधन (सत्र),
  • संसाधन प्रबंधन (जैसे डेटाबेस के लिए कनेक्शन पूल),
  • लोड संतुलन, विफल हो

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

संसाधन उपयोग के मामले में वेब सर्वर से अधिक अनुप्रयोग सर्वर अधिक भारी है