Вебсправочник
Основы веб-разработки

Статика и серверное приложение: какое окружение требуется сайту

Статический сайт отдаёт готовые файлы, а серверное приложение формирует ответы при обработке запросов. Это различие определяет требования к размещению точнее, чем внешний вид страницы.

Назначение

Статический сайт отдаёт готовые файлы, а серверное приложение формирует ответы при обработке запросов. Это различие определяет требования к размещению точнее, чем внешний вид страницы.

Как это работает

HTML, CSS и браузерный JavaScript могут публиковаться как статика. Наличие JS не означает необходимость Node.js на сервере. Если сборка выполняется заранее, площадке может требоваться только каталог результата. Серверный API, наоборот, нуждается в поддержке выбранного языка и способа запуска.

Пример

Статический выпуск:
  index.html
  assets/app.js
  assets/style.css

Серверное приложение дополнительно требует:
  среды выполнения и процесса приложения;
  настроек доступа к данным;
  журналов и механизма перезапуска.

Что должно получиться

Список помогает отделить сборку проекта от его эксплуатации. Один фронтенд может обращаться к отдельно размещённому API; тогда проверяют требования обеих частей и правила взаимодействия между ними.

Граница применения и частая ошибка

Не покупайте VPS только из-за использования современного фреймворка. Но и не рассчитывайте запустить постоянный серверный процесс на любой площадке для файлов. Уточняйте способ запуска, ограничения ресурсов и доступные журналы до переноса проекта.

Для готовых HTML-файлов или поддерживаемой CMS можно сравнить виртуальный хостинг для сайта. Проверяйте конкретный тариф: размещение статики, PHP и постоянно работающего API предъявляет разные требования.

Самостоятельная проверка

Для своего проекта составьте таблицу: что выполняется в браузере, при сборке и при каждом серверном запросе. Укажите, где хранятся секреты. Проверьте результат сборки локальным HTTP-сервером без запуска среды разработки.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.