бак и фронт - жаргонизмы.
ЯВУ и стеков очень много.
Поэтому в зависимости от стека говорящие вкладывают немного различный смысл.
Общее тут, что
фронт - часть для взаимодействия с пользователем.
бак - скрытая от пользователя реализация бизнес логики приложения (полезных действий).
При желании даже в консольном приложении, которое пишет один человек, можно разделить на фронт и бакенд.
Для этого просто не нужно размазывать вывод по коду, а собрать его в одно место.
Чуть усложним. Привычное для пользователей приложение. Разработчики пишут их разделяя код
на части. (рисующие экран пользователя, хранящие данные, делающие действия, реагирущие на тапы/клики/ввод)
Тут тоже получается можно поделить на фронт и бек.
Теперь возмем CMS для сайта. Во фронт можно отписать шаблоны страниц, а сам движок в бакенд.
Ок. Сферический сайт PHP+MYSQL+JS+HTML+CSS
тут вроде просто. То что пишем на PHP+MYSQL бакенд. HTML+JS+CSS - фронт
И уточнять словом сервер нет необходимости. Работу можно поделить между верстальщиком и программистом.
Сайт на реакте и т.п.. Тут границу проводим уже по тому, где будет исполняться js. В броузере рендерить код страницы (фрон) или на сервере решая задачи обработки данных (бакенд)
Вернемся к приложениям.
"бакенд - сервер" означает, что приложение имеет серверную часть.
тут пригодиться еще один термин API - Aplitation Protocol Interface.
Технологий как с телефона/компьютера обратиться к серверу в интернете придумали достаточно много.
Простейшая из них очень похожа на общение с сайтом (GET/POST), только вместо HTML программам удобнее разбирать структуированные данные (json или xml)
Самое прикольное, что на каждом уровне цепочки общения что-то можно назвать фронтом и беком.
https://stackoverflow.com/questions/73778563/nginx...
Пример со стековерфлоу.
Nginx - общается с пользователями. Но вот человек вполне понятно для других спросил про фронт-сервер и бакенд. Откуда будут браться статические данные и куда передавать запросы требующие обработки.
Так, что "сервер" в названии это уточнение, что часть бизнес логики выполняется на другой машине (не текущей) или за нее отвечает другая программа