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 одновременно.