Gdy wpiszesz www.google.com w przeglądarce internetowej, otworzy ono połączenie z domyślnym portem 80 z serwerem Google (poprzez wyszukiwanie DNS, aby zobaczyć, jaki jest adres IP www.google.com) i zażąda strony internetowej. Serwer Google odpowiada stroną internetową, którą twoja przeglądarka rysuje na ekranie (zwykle wykonując kolejne wywołania obrazów, CSS i JavaScript).
Gdy idziesz do localhost: 8080, jest dokładnie tak samo. Nazwa serwera Localhost zawsze odnosi się do komputera, na którym pracujesz i używa fałszywego adresu IP 127.0.0.1 (twój komputer będzie miał dwa adresy IP - ten fałszywy, który ma każdy komputer i prawdziwy). Musisz mieć instancję Tomcat działającą lokalnie i nasłuchującą połączeń na porcie 8080.
Dlaczego port 8080 zamiast domyślnego portu 80 HTTP? Tak jest w przypadku, gdy masz już serwer WWW.
Zazwyczaj masz serwery sieciowe i serwery aplikacji.
Serwery WWW (takie jak Apache httpd) obsługują strony statyczne. W efekcie jest to podobny do fantazyjnego jednokierunkowego serwera FTP. Otwierasz połączenie TCP i pytasz o plik za pomocą poleceń HTTP (zazwyczaj GET). Serwer internetowy zwraca plik HTML, a przeglądarka pobiera go i analizuje, widzi, że potrzebuje innych obrazów i żąda ich. Serwer WWW jest bardzo szybki, ale w zasadzie usuwa pliki z dysku lokalnego i zwraca je.
Serwer aplikacji (taki jak Tomcat lub JBoss) jest podobny, z tym wyjątkiem, że zwykle uruchamia kod w celu „utworzenia” strony, o którą prosisz, zamiast wyciągać ją bezpośrednio z dysku. To, co robi, aby utworzyć tę stronę, zależy od twojej aplikacji. Może łączyć się z bazą danych, uruchamiać program, losowo obsługiwać stronę ... Itd. Na przykład, gdy logujesz się do bankowości internetowej, serwer aplikacji konfiguruje sesję, zwraca identyfikator sesji w pliku cookie, który przeglądarka ponownie wysyła odpowiedź za każdym razem, gdy wysyłasz żądanie, aż się wylogujesz. Jeśli więc poprosisz o stronę „moje salda”, bank sprawdza, kim jesteś na podstawie identyfikatora sesji, a następnie przechodzi do swojej bazy danych, aby uzyskać twoje imię i saldo, a następnie tworzy stronę z napisem „Cześć John Smith, saldo wynosi 100 € ”. Serwery aplikacji są zwykle wolniejsze, ale bardziej wszechstronne niż serwery WWW.
W wielu miejscach WebServer działa w domyślnym porcie 80, a następnie AppServer działa na drugim porcie (np. 8080). Tak więc strony statyczne są wyświetlane szybko, a gdy użytkownik kliknie link prowadzący do strony dynamicznej, link przechodzi do 8080 (na który odpowiada serwer aplikacji) lub serwer WWW jest skonfigurowany do przekazywania określonych żądań do serwera aplikacji (w który przypadek nadal wygląda jak domyślny port 80, a więc wygląda trochę ładniej dla użytkownika).
Oczywiście jest to przegląd bardzo wysokiego poziomu i nic nie jest tak czarno-białe. Większość serwerów WWW może tworzyć dynamiczną zawartość, uruchamiając skrypty (zwykle CGI za pośrednictwem skryptów używających Perla lub PHP), a większość serwerów aplikacji może również obsługiwać zwykłe pliki, takie jak serwer WWW. W rzeczywistości można po prostu uruchomić serwer aplikacji i zmienić numer portu tomcat z 8080 na 80.
W końcu wiele aplikacji odchodzi od wyświetlania pełnych stron HTML dla każdego żądania do serwera aplikacji (co jest postrzegane jako powolne i nieefektywne) i zamiast tego odpowiada tylko fragmentami danych używającymi AJAX do wysyłania JSON lub XML. Wróć do oryginalnej strony www.google.com, w której wpisałeś zapytanie, kliknij Wyszukaj i uzyskaj stronę z wynikami. Teraz, w trakcie pisania, Twoja przeglądarka ciągle wysyła do Google żądania AJAX, które odpowiadają aktualnymi wynikami wyszukiwania na podstawie tego, co wpisałeś do tej pory, a następnie przeglądarka aktualizuje stronę. Oznacza to, że nie trzeba czekać, aż użytkownik prześle stronę tak szybko i bardziej dynamicznie (tak jak w starej aplikacji komputerowej).