Gymterview
junior

Чем отличаются Web server и Application server?

Web server обслуживает HTTP-запросы и отдаёт контент, а Application server выполняет серверную бизнес-логику. Эти понятия описывают разные аспекты, и одна программа может быть одновременно и тем, и другим.

Характеристика Web server Application server
Основная задача Отдача контента по HTTP Выполнение бизнес-логики
Контент Статический (HTML, CSS, JS, картинки) Динамический (результат работы приложения)
Протокол HTTP/HTTPS HTTP и другие (RMI, JMS, IIOP)
Примеры Nginx, Apache HTTP Server Tomcat, WildFly, WebLogic

Как они сочетаются

  • Apache Tomcat умеет отдавать данные по HTTP (web server) и выполнять приложения (application server)
  • Чистый Nginx без модулей — только web server: отдаёт статические файлы. Добавьте модуль PHP или проксирование на Tomcat — и он становится частью application server
  • База данных с хранимыми процедурами может быть application server (выполняет логику), но не web server (не работает по HTTP)

На практике в production-системах часто используется связка: Nginx (reverse proxy, SSL-терминация, отдача статики) + Tomcat/Spring Boot (выполнение Java-приложений). Nginx принимает все HTTP-запросы, статику отдаёт сам, а динамические запросы проксирует на сервер приложений.

На собеседовании: главное — показать, что вы понимаете: это не взаимоисключающие категории, а разные «роли». Одна программа может выполнять обе роли. Приведите пример Tomcat, который является и web server, и application server одновременно.