Не уверен, что я полностью понял ваш вопрос, но главная причина в том, чтобы иметь возможность создать несколько виртуальных хостов на одной физической машине.Было бы расточительно, если бы на одной машине могло размещаться только одно приложение, поскольку обычно она не могла бы использовать большую часть ресурсов машины.
Это будет работать так же, даже с балансировщиком нагрузки.Клиенты отправляли бы HTTP-запрос на балансировщик нагрузки на порт 80, а сервер перенаправлял запрос на конкретную виртуальную машину на порт 80, который затем выяснял, какой сайт / приложение следует обслуживать, в зависимости от заголовка узла.
Если вы также спрашивали, почему порт должен быть таким же (например, 80): это не так.Но так как у нас есть эта функциональность заголовка узла, чтобы определить, с каким приложением хочет общаться клиент, мы можем продолжать использовать типичный порт HTTP (80) для всех размещенных приложений.