Взаимодействия бэкенда и фронтенда

Подскажите плз в общих чертах как взаимодействует фронт с бэком на примере какого нибудь динамического веб сайта, где есть фронт на JS и бэк на Java Spring. Должен ли фронт и бэк (REST API) запускаьться на разных портах/серверах? И потом их взаимодействие идет по http ? Как выглядит готовое приложение это два файла? .jar для бэка и .чтото для фронта? Спасибо за помощь.

Картинка ниже описывает суть моего вопроса.. Но как я понял из ответов вариантов архитектуры много.

введите сюда описание изображения!


Ответы (1 шт):

Автор решения: dmtr

В основном взаимодействие происходит на HTTP запросах (GET, POST, DELETE и т.д.).

Запускать на одном порту приложения или на разных - ну вопрос наверное, кому - как удобно. Для ухода от конфликтов, конечно же, приложения будут запущены на разных портах. По дефолту, вы заметите, что скорей всего ваше фронт приложение будет работать на 80 порту, а бекэнд на 8080, если это Tomcat.

Готовое фронт приложение - это набор файлов (HTML,JS,CSS и т.д.). Готовое бекэнд приложение будет собрано в war или jar и запущено на сервере приложений.

→ Ссылка