Коли ви вводите www.google.com у свій веб-браузер, він відкриває з'єднання порту за замовчуванням 80 до сервера Google (за допомогою DNS-пошуку, щоб побачити, що таке IP-адреса www.google.com) і запитує веб-сторінку. Сервер Google реагує на веб-сторінку, яку браузер малює на екрані (як правило, здійснюючи подальші дзвінки для зображень, CSS та JavaScript).
Коли ви переходите до localhost: 8080, це саме те саме. Ім'я сервера Localhost завжди підходить до машини, на якій ви працюєте, і використовує підроблену IP-адресу 127.0.0.1 (ваш комп'ютер матиме дві IP-адреси - цю підроблену, яку має кожен комп'ютер, і справжню). Отже, у вас повинен бути екземпляр Tomcat, який працює локально, слухаючи з'єднання на порту 8080.
Чому порт 8080 замість http-порту 80 за замовчуванням? Ну це на випадок, якщо у вас вже є веб-сервер.
Зазвичай у вас є веб-сервери та сервери додатків.
Веб-сервери (як Apache httpd) обслуговують статичні сторінки. Насправді це як модний односторонній FTP-сервер. Ви відкриваєте TCP-з'єднання і запитуєте файл за допомогою команд HTTP (як правило, GET). Веб-сервер повертає HTML-файл, і ваш браузер завантажує його та аналізує, бачить, що йому потрібні інші зображення та запитує їх. Веб-сервер дуже швидкий, але в основному знімає файли з локального диска і повертає їх.
Сервер додатків (як Tomcat або JBoss) схожий, за винятком того, що він запускає код для "створення" сторінки, про яку ви просите, а не піднімає її прямо з диска. Що потрібно створити на цій сторінці, залежить від вашої програми. Він може підключитися до бази даних, запустити програму, довільно обслуговувати сторінку ... і т. Д. Коли ви, наприклад, увійдете у свій інтернет-банкінг, сервер додатків налаштовує сеанс для вас, повертає ідентифікатор сеансу у файлі cookie, які веб-переглядач повертається назад кожного разу, коли ви робите запит, поки не вийдете. Тож якщо ви запитаєте сторінку "мої залишки", то банк шукає, хто ви базуєтесь на вашому ідентифікаторі сеансу, а потім переходить до його бази даних, щоб отримати ваше ім'я та баланс банку, а потім створює сторінку з надписом "Привіт Джон Сміт, ваш баланс становить 100 євро ". Сервери додатків, як правило, повільніше, але більш універсальні, ніж веб-сервери.
У багатьох місцях WebServer працює на порту за замовчуванням 80, а потім AppServer працює на другому порту (наприклад, 8080). Таким чином, статичні сторінки швидко обслуговуються, і коли користувачі натискають на посилання, яке переводить їх на динамічну сторінку, посилання переходить до 8080 (на що відповідає сервер додатків) або веб-сервер встановлюється для пересилання певних запитів на сервер додатків (у у цьому випадку він все ще виглядає як порт за замовчуванням 80 і так виглядає користувачеві трохи приємніше).
Звичайно, це огляд дуже високого рівня, і нічого такого не є чорно-білого. Більшість веб-серверів можуть створювати деякий динамічний контент, запускаючи скрипти (як правило, CGI за допомогою сценаріїв вона використовує perl або PHP), а більшість серверів додатків також можуть обслуговувати звичайні файли, як веб-сервер. Насправді можна просто запустити сервер додатків і змінити номер порту tomcat з 8080 на 80.
Нарешті, багато програм відходять від подання повних HTML-сторінок для кожного запиту на сервер додатків (який вважається повільним і неефективним) і натомість відповідають лише фрагментами даних, використовуючи AJAX для надсилання JSON або XML. Поверніться до оригінального веб-сайту www.google.com, який ви вводили в пошуковому запиті, натисніть кнопку Пошук і отримайте сторінку своїх результатів. Тепер замість того, як ви вводите, ваш веб-переглядач постійно надсилає запити AJAX до Google, який відповідає найновішим результатам пошуку, виходячи з того, що ви ввели раніше, а потім ваш веб-переглядач оновлює сторінку. Це означає, що не потрібно чекати, коли користувач настільки швидше та динамічніше надсилатиме сторінку користувачеві (на зразок старої шкільної програми для настільних ПК).