Взаимодействия бэкенда и фронтенда
Подскажите плз в общих чертах как взаимодействует фронт с бэком на примере какого нибудь динамического веб сайта, где есть фронт на JS и бэк на Java Spring. Должен ли фронт и бэк (REST API) запускаьться на разных портах/серверах? И потом их взаимодействие идет по http ? Как выглядит готовое приложение это два файла? .jar для бэка и .чтото для фронта? Спасибо за помощь.
Картинка ниже описывает суть моего вопроса.. Но как я понял из ответов вариантов архитектуры много.
!
Ответы (1 шт):
В основном взаимодействие происходит на HTTP запросах (GET, POST, DELETE и т.д.).
Запускать на одном порту приложения или на разных - ну вопрос наверное, кому - как удобно. Для ухода от конфликтов, конечно же, приложения будут запущены на разных портах. По дефолту, вы заметите, что скорей всего ваше фронт приложение будет работать на 80 порту, а бекэнд на 8080, если это Tomcat.
Готовое фронт приложение - это набор файлов (HTML,JS,CSS и т.д.). Готовое бекэнд приложение будет собрано в war или jar и запущено на сервере приложений.