думаю это Вам поможет
Объясняем современный JavaScript динозавруКак объяснить 10 лет веб-разработки путешественник...
NodeJs - это движок для JavaScript , который вынесли из браузера и добавили возможности , которые в браузерном JS были невозможны из-за безопасности , например работа с файловой системой и другие. Сам движок NODEJS называется V8 , написан на C++ и компилит JS в машинный код.
Вебсервер - это процесс который слушает определенный порт на HTTP запросы , принимает их , парсит и отдает назад ответ в зависимости от запроса. Раньше в этот ответ помещался готовый html код c данными , которые подтягивались из базы, что и было страницей.
Так как появилась возможность делать JS код вне браузера , то взяли и написали на нем веб-сервер , который все делает на JS . Что дало возможность написать и фронт и бэк сайта на одном языке
Сейчас же при запросе к серверу , сервер отдает сразу HTML код страницы с JS кодом и из этого js кода посылаются асинхронные запросы к бекенду (AJAX) на определенные url адреса сервера RESTip , которые отдают не готовые страницы , а только данные в чистом виде в формате JSON и JS парсит эти данные и вставляет в стандартные html узлы или же кастомные , которые зовутся WebComponets, но пока имеют слабую поддержку браузеров , страницы. Angular упрощает написание кастомных html узлов и внедрение в них данных плюс позволяет их реиспользовать.
Получается что у Вас может один раз прийти html + js код и потом вся работа с сайтом будет идти через одну страницу в которую javascript будет вставлять нужные данные, а при необходимости еще и обрабатывать их перед вставкой. Сайты , которые так работают называются SPA (Single Page Aplication).