Web tarayıcınıza www.google.com yazdığınızda, varsayılan bağlantı noktası 80'de Google sunucusuna (www.google.com IP adresinin ne olduğunu görmek için bir DNS araması yoluyla) bir bağlantı açılır ve web sayfasını ister. Google sunucusu, tarayıcınızın ekranda çizdiği bir web sayfasıyla yanıt verir (genellikle resimler, CSS ve JavaScript için daha fazla çağrı yaparak).
Localhost'a gittiğinizde: 8080 aynı şeydir. Localhost sunucu adı her zaman üzerinde çalıştığınız makineye çözümlenir ve 127.0.0.1 sahte IP adresini kullanır (bilgisayarınızın iki IP adresi olacaktır - bu, her bilgisayarın sahip olduğu ve gerçek adres). Bu nedenle 8080 numaralı bağlantı noktasındaki bağlantıları yerel olarak dinleyen bir Tomcat örneğiniz olmalıdır.
Neden varsayılan http bağlantı noktası 80 yerine 8080 bağlantı noktası? Zaten yerinde bir web sunucunuz olması durumunda.
Genellikle web sunucularınız ve uygulama sunucularınız vardır.
Web sunucuları (Apache httpd gibi) statik sayfalar sunar. Aslında bu süslü tek yönlü bir FTP sunucusu gibi. Bir TCP bağlantısı açar ve HTTP komutlarını (genellikle GET) kullanarak bir dosya istersiniz. Web sunucusu bir HTML dosyası döndürür ve tarayıcınız dosyayı indirir ve ayrıştırır, başka görüntülere ihtiyaç duyduğunu görür ve bunları ister. Bir web sunucusu çok hızlıdır, ancak temel olarak dosyaları yerel diskten kaldırır ve döndürür.
Bir Uygulama Sunucusu (Tomcat veya JBoss gibi) benzerdir, ancak genellikle doğrudan diskten kaldırmak yerine istediğiniz sayfayı "oluşturmak" için kod çalıştırır. Bu sayfayı oluşturmak için yaptıklarınız uygulamanıza bağlıdır. Bir veritabanına bağlanabilir, bir program çalıştırabilir, rastgele bir sayfa sunabilir ... vb. Örneğin, çevrimiçi bankacılığınızda oturum açtığınızda, uygulama sunucusu sizin için bir oturum ayarlar, bu oturum kimliğini bir çerezde döndürür. oturumu kapatana kadar her istek yaptığınızda tarayıcı yeniden gönderilir. Eğer "bakiyelerim" sayfasını sorarsanız, o zaman banka oturum kimliğinize göre kime baktığınızı arar, sonra adınızı ve banka bakiyenizi almak için veritabanına gider, sonra "Merhaba John Smith, bakiyeniz 100 € 'dur. " Uygulama sunucuları genellikle Web Sunucularına göre daha yavaş ancak çok yönlüdür.
Birçok yerde varsayılan 80 numaralı bağlantı noktasında çalışan bir WebServer ve ikincil bir bağlantı noktasında (8080 gibi) çalışan AppServer bulunur. Statik sayfalar hızlı bir şekilde sunulur ve kullanıcılar kendilerini dinamik bir sayfaya götüren bir bağlantıyı tıkladıklarında, bağlantı 8080'e (uygulama sunucusunun yanıt verdiği) gider veya web sunucusu belirli istekleri uygulama sunucusuna (içinde bu durumda hala varsayılan port 80'e benziyor ve bu yüzden kullanıcıya biraz daha hoş görünüyor).
Tabii ki bu çok yüksek bir genel bakış ve hiçbir şey siyah ve beyaz değil. Çoğu Web sunucusu komut dosyaları (tipik olarak perl veya PHP kullanan komut dosyaları aracılığıyla CGI aracılığıyla) çalıştırarak bazı dinamik içerik oluşturabilir ve çoğu uygulama sunucusu web sunucusu gibi düz dosyalar da sunabilir. Aslında bir uygulama sunucusu çalıştırmak ve tomcat port numarasını 8080'den 80'e değiştirmek mümkündür.
Son olarak, birçok uygulama her istek için tam HTML sayfalarını uygulama sunucusuna sunmaktan uzaklaşmaktadır (yavaş ve verimsiz olarak görülmektedir) ve bunun yerine yalnızca JSON veya XML göndermek için AJAX kullanan veri snippet'leriyle yanıt vermektedir. Arama sorgunuzu yazmak için kullandığınız orijinal www.google.com'a geri dönün, Ara'ya basın ve sonuçlarınızın bir sayfasını alın. Şimdi bunun yerine, siz yazarken, tarayıcınız sürekli olarak Google'a AJAX istekleri gönderiyor, bu da yazdıklarınıza göre güncel arama sonuçlarıyla yanıt veriyor ve ardından tarayıcınız sayfayı güncelliyor. Bu, kullanıcının sayfayı çok daha hızlı ve daha dinamik bir şekilde kullanıcıya göndermesini beklemeye gerek olmadığı anlamına gelir (eski bir okul masaüstü uygulaması gibi).