Чем статический сайт отличается от динамического и когда нужен сервер?
Мне говорят, что мой сайт «статический» и его можно выложить бесплатно где угодно. А есть ещё «динамические», для которых нужен «настоящий сервер». В чём разница и почему для одного нужен сервер, а для другого нет?
2 ответа
Статический сайт — это набор готовых файлов (HTML, CSS, картинки, JS), которые всем посетителям отдаются одинаковыми. Сервер просто отдаёт файл как есть, ничего не вычисляя. Сюда подходят: лендинги, портфолио, блоги, игры на JS. Их можно хостить бесплатно (GitHub Pages, Netlify, Vercel), потому что серверу почти ничего делать не надо.
Динамический сайт генерирует страницу под каждый запрос: проверяет логин, лезет в базу данных, показывает разный контент разным людям. Пример — соцсеть, интернет-магазин, форум. Для этого нужен сервер, который крутит твой код на Python/PHP/Node и хранит базу.
Правило: если на странице нет «личного кабинета», входа и сохранения данных на сервере — скорее всего, сайт статический, и хостить его можно бесплатно. Кстати, JavaScript в браузере работает и на статическом сайте — он же выполняется у посетителя, а не на сервере.
Добавлю нюанс: бывает гибрид. Сайт статический, а данные подтягиваются с чужого сервера (API) прямо из JS в браузере. Тогда свой сервер тебе тоже не нужен — например, фронтенд на GitHub Pages дёргает чей-то готовый API. Свой сервер нужен только когда тебе надо что-то считать/хранить на своей стороне.