Wenn Sie www.google.com in Ihren Webbrowser eingeben, wird über den Standardport 80 eine Verbindung zum Google-Server hergestellt (über eine DNS-Suche, um festzustellen, welche IP-Adresse www.google.com lautet) und die Webseite angefordert. Der Google-Server antwortet mit einer Webseite, die Ihr Browser auf dem Bildschirm zeichnet (normalerweise durch weitere Aufrufe von Bildern, CSS und JavaScript).
Wenn Sie zu localhost gehen: 8080 ist es genau das gleiche. Der Name des Localhost-Servers wird immer auf dem Computer aufgelöst, auf dem Sie ausgeführt werden, und verwendet die gefälschte IP-Adresse 127.0.0.1 (Ihr Computer hat zwei IP-Adressen - diese gefälschte, die jeder Computer hat, und die echte). Sie müssen also eine Tomcat-Instanz haben, die lokal ausgeführt wird und auf Verbindungen an Port 8080 wartet.
Warum Port 8080 anstelle des Standard-http-Ports 80? Nun, falls Sie bereits einen Webserver eingerichtet haben.
Normalerweise haben Sie Webserver und App-Server.
Webserver (wie Apache httpd) stellen statische Seiten bereit. Tatsächlich ist es wie ein ausgefallener Einweg-FTP-Server. Sie öffnen eine TCP-Verbindung und fordern mithilfe der HTTP-Befehle (normalerweise GET) eine Datei an. Der Webserver gibt eine HTML-Datei zurück und Ihr Browser lädt sie herunter und analysiert sie, sieht, dass er andere Bilder benötigt, und fordert diese an. Ein Webserver ist sehr schnell, hebt jedoch im Grunde genommen Dateien von der lokalen Festplatte ab und gibt sie zurück.
Ein App Server (wie Tomcat oder JBoss) ist ähnlich, außer dass er normalerweise Code ausführt, um die gewünschte Seite zu "erstellen", anstatt sie direkt von der Festplatte zu heben. Wie diese Seite erstellt wird, hängt von Ihrer Anwendung ab. Es könnte eine Verbindung zu einer Datenbank herstellen, ein Programm ausführen, zufällig eine Seite bereitstellen ... usw. Wenn Sie sich beispielsweise bei Ihrem Online-Banking anmelden, richtet der App-Server eine Sitzung für Sie ein und gibt diese Sitzungs-ID in einem Cookie zurück, das Sie Der Browser wird jedes Mal erneut gesendet, wenn Sie eine Anfrage stellen, bis Sie sich abmelden. Wenn Sie also nach der Seite "Mein Guthaben" fragen, sucht die Bank anhand Ihrer Sitzungs-ID, wer Sie sind, und ruft in ihrer Datenbank Ihren Namen und Ihr Bankguthaben auf. Anschließend wird eine Seite mit der Aufschrift "Hallo John Smith, Ihr Guthaben" erstellt ist 100 €. " App-Server sind normalerweise langsamer, aber vielseitiger als Webserver.
An vielen Orten wird ein WebServer im Standardport 80 und dann AppServer auf einem sekundären Port (z. B. 8080) ausgeführt. So werden statische Seiten schnell bereitgestellt, und wenn Benutzer auf einen Link klicken, der sie zu einer dynamischen Seite führt, geht der Link entweder zu 8080 (auf den der App-Server reagiert) oder der Webserver wird eingerichtet, um bestimmte Anforderungen an den App-Server weiterzuleiten (in In diesem Fall sieht es immer noch wie der Standardport 80 aus und sieht für den Benutzer etwas besser aus.
Natürlich ist dies eine Übersicht auf sehr hohem Niveau und nichts ist so schwarz und weiß. Die meisten Webserver können einige dynamische Inhalte erstellen, indem sie Skripte ausführen (normalerweise CGI über Skripte mit Perl oder PHP), und die meisten App-Server können auch einfache Dateien wie einen Webserver bereitstellen. Tatsächlich ist es möglich, einfach einen App-Server auszuführen und die Tomcat-Portnummer von 8080 auf 80 zu ändern.
Schließlich entfernen sich viele Anwendungen von der Bereitstellung vollständiger HTML-Seiten für jede Anforderung an den App-Server (was als langsam und ineffizient angesehen wird) und antworten stattdessen nur mit den Datenausschnitten, die AJAX zum Senden von JSON oder XML verwenden. Zurück zum ursprünglichen www.google.com, mit dem Sie Ihre Suchanfrage eingegeben haben, klicken Sie auf Suchen und erhalten Sie eine Seite mit Ihren Ergebnissen. Stattdessen sendet Ihr Browser während der Eingabe kontinuierlich AJAX-Anfragen an Google, die auf der Grundlage der bisher eingegebenen Daten mit aktuellen Suchergebnissen antworten. Anschließend aktualisiert Ihr Browser die Seite. Sie müssen nicht warten, bis der Benutzer die Seite so schnell und dynamischer an den Benutzer gesendet hat (wie dies bei einer Desktop-App der alten Schule der Fall wäre).