Web Server

Здесь под понятием Web Server подразумевается, статический веб-сервер. Задачи которого:

Web Application Server

Сервер веб-приложений, для выдачи динамического контента. Задачи, отличные от статического веб-сервера:

Статический контент

Веб сервер получает URL, по значению пути (после "/") возвращает объект. В качестве примеров таких объектов можно привести:

image, video, html, css, javascript

Динамический контент

Когда необходимо отдать динамический контент, который меняется в зависимости от каких-либо параметров, тогда используется веб сервер приложений (web application server). В качестве примера, возьмем сервер Flask, который обслуживает приложения написанные на ЯП Python. Flask анализирует путь в URL, и в зависимости от пути, выполняет написанный код, функцию.

Зачем разделяют понятия

Часто WEB Application Server используют в связке с WEB Server, для увеличения производительности и пропускной способности Web Application Server, иначе увеличится время ожидания, нагрузка. WEB Server, например Nginx, работает быстрее, чем большинство WEB Application Server, поэтому у него в задачах отдавать статический контент, а когда нужно вызвать динамический контент, он работает в качестве прокси сервера, передает запрос WAS и обратно ответ (уже обработанный контент).

Структура, схема