जब आप वेब ब्राउज़र में www.google.com टाइप करते हैं, तो यह डिफ़ॉल्ट पोर्ट 80 से Google सर्वर पर एक कनेक्शन खोलता है (एक DNS लुकअप के माध्यम से यह देखने के लिए कि आईपी एड्रेस www.google.com क्या है) और वेब पेज का अनुरोध करता है। Google सर्वर एक वेब पेज के साथ प्रतिक्रिया करता है जिसे आपका ब्राउज़र स्क्रीन पर खींचता है (आमतौर पर छवियों, सीएसएस और जावास्क्रिप्ट के लिए आगे कॉल करके)।
जब आप लोकलहोस्ट पर जाते हैं: 8080 यह बिल्कुल वही बात है। लोकलहोस्ट सर्वर का नाम हमेशा उस मशीन पर रहता है जिस पर आप चल रहे हैं और 127.0.0.1 के फर्जी आईपी पते का उपयोग करता है (आपके कंप्यूटर में दो आईपी पते होंगे - यह नकली जो हर कंप्यूटर के पास है और असली वाला है)। तो आपके पास एक टॉमकैट इंस्टेंस होना चाहिए जो पोर्ट 8080 पर कनेक्शन के लिए स्थानीय रूप से सुन रहा हो।
डिफ़ॉल्ट http पोर्ट 80 के बजाय पोर्ट 8080 क्यों? ठीक है कि आपके पास पहले से ही एक वेबसर्वर है।
आमतौर पर आपके पास वेब सर्वर और ऐप सर्वर होते हैं।
वेब सर्वर (अपाचे httpd की तरह) स्थैतिक पृष्ठों की सेवा करते हैं। वास्तव में यह एक फैंसी वन-वे एफ़टीपी सर्वर की तरह है। आप एक टीसीपी कनेक्शन खोलें और HTTP कमांड (आमतौर पर प्राप्त करें) का उपयोग करके एक फ़ाइल के लिए पूछें। वेबसर्वर एक HTML फ़ाइल लौटाता है और आपका ब्राउज़र इसे डाउनलोड करता है और इसे पार्स करता है, देखता है कि इसे अन्य छवियों और अनुरोधों की आवश्यकता है। एक वेबसर्वर बहुत तेज़ है लेकिन मूल रूप से स्थानीय डिस्क से फ़ाइलों को हटा देता है और उन्हें वापस कर देता है।
एक ऐप सर्वर (जैसे टॉमकैट या जेबॉस) समान है, क्योंकि यह आमतौर पर उस पेज को "बनाने" के लिए कोड चलाता है जो आप डिस्क से सीधे लिफ्ट करने के बजाय पूछ रहे हैं। उस पेज को बनाने के लिए यह आपके आवेदन पर निर्भर करता है। यह एक डेटाबेस से कनेक्ट हो सकता है, एक प्रोग्राम चला सकता है, बेतरतीब ढंग से एक पृष्ठ की सेवा कर सकता है ... आदि जब आप उदाहरण के लिए अपने ऑनलाइन बैंकिंग पर लॉग ऑन करते हैं, तो ऐप सर्वर आपके लिए एक सत्र सेट करता है, उस सत्र आईडी को एक कुकी में लौटाता है जो कि आपकी जब तक आप लॉग आउट नहीं करते, तब तक ब्राउज़र हर बार अनुरोध करता है। इसलिए यदि आप "मेरे शेष" पृष्ठ के लिए पूछते हैं तो बैंक को पता चलता है कि आप अपने सत्र आईडी पर आधारित हैं, फिर अपना नाम और बैंक बैलेंस प्राप्त करने के लिए इसके डेटाबेस में जाता है, फिर एक पृष्ठ बनाता है जिसमें कहा जाता है "हाय जॉन स्मिथ, आपका शेष € 100 है। " ऐप सर्वर आमतौर पर धीमे होते हैं, लेकिन Webservers की तुलना में अधिक बहुमुखी होते हैं।
कई स्थानों पर 80 के डिफ़ॉल्ट पोर्ट में एक WebServer चल रहा है, और फिर AppServer एक द्वितीयक पोर्ट (जैसे 8080) पर चल रहा है। इसलिए स्थैतिक पृष्ठों को तेजी से काम किया जाता है और जब उपयोगकर्ता एक लिंक पर क्लिक करते हैं जो उन्हें एक गतिशील पृष्ठ पर ले जाता है, तो लिंक 8080 पर जाता है (जो ऐप सर्वर जवाब देता है) या वेब सर्वर ऐप सर्वर के कुछ अनुरोधों को अग्रेषित करने के लिए सेटअप है जो मामला अभी भी डिफ़ॉल्ट पोर्ट 80 की तरह दिखता है और इसलिए उपयोगकर्ता को थोड़ा अच्छा लगता है)।
बेशक यह एक बहुत ही उच्च स्तरीय अवलोकन है और कुछ भी ऐसा नहीं है जो काला और सफेद हो। अधिकांश Webservers स्क्रिप्ट चलाकर कुछ गतिशील सामग्री बना सकते हैं (आमतौर पर CGI के माध्यम से वह perl या PHP का उपयोग करके स्क्रिप्ट करेंगे) और अधिकांश ऐप सर्वर वेबसर्वर की तरह सादे फ़ाइलों की सेवा भी कर सकते हैं। वास्तव में यह संभव है कि केवल एक ऐप सर्वर चलाएं और 8080 से 80 तक टॉमकैट पोर्ट नंबर बदलें।
अंत में कई एप्लिकेशन ऐप सर्वर (जो धीमे और अक्षम के रूप में देखे गए) के लिए प्रत्येक अनुरोध के लिए पूर्ण HTML पृष्ठों की सेवा से दूर जा रहे हैं और इसके बजाय केवल JSON या XML भेजने के लिए AJAX का उपयोग करके डेटा स्निपेट के साथ जवाब दे रहे हैं। उस मूल www.google.com पर वापस जाएं जिसे आपने अपनी खोज क्वेरी में टाइप किया था, खोज को हिट करें और अपने परिणामों का एक पृष्ठ प्राप्त करें। अब इसके बजाय, जैसा कि आप लिखते हैं, आपका ब्राउज़र लगातार Google को AJAX अनुरोध भेज रहा है जो अब तक आपके द्वारा लिखे गए खोज के आधार पर खोज परिणामों पर निर्भर करता है और फिर आपका ब्राउज़र पृष्ठ को अपडेट करता है। इसका अर्थ है कि उपयोगकर्ता को पृष्ठ को इतनी तेज़ी से और अधिक गतिशील रूप से सबमिट करने के लिए प्रतीक्षा करने की आवश्यकता नहीं है (जैसे एक पुराने स्कूल डेस्कटॉप ऐप होगा)।