Каждый сайт — это файлы на сервере, которые браузер превращает в красивую страницу. Разберём три столпа веба: HTML, CSS и JavaScript.
В главе 4 вы узнали, что браузер отправляет HTTP-запрос и получает ответ. Теперь посмотрим, что именно приходит в ответе и как браузер превращает текст в страницу.
Веб = HTML (структура) + CSS (оформление) + JavaScript (поведение).
HTML — скелет, CSS — одежда, JavaScript — мышцы
Разметка структуры страницы: заголовки, параграфы, списки, ссылки, изображения, таблицы, формы.
HTML — не язык программирования, а язык разметки. Теги описывают что на странице, не как это работает.
<h1>Привет, мир!</h1> — заголовок первого уровня.<p>Это параграф.</p> — абзац текста.<a href="https://example.com">Ссылка</a> — гиперссылка.
Оформление: цвета, шрифты, отступы, расположение элементов, анимации, адаптивность.
CSS отделяет внешний вид от структуры. Один CSS-файл может стилизовать весь сайт.
Поведение и интерактивность: обработка кликов, анимация, запросы к серверу без перезагрузки, валидация форм.
JS — единственный язык программирования, который работает напрямую в браузере.
Определяет структуру: где заголовок, где текст, где картинка. Без CSS — некрасиво, но читаемо.
Делает страницу красивой: цвета, шрифты, тени, анимации. Без HTML не к чему применять.
Делает страницу живой: кнопки работают, данные загружаются, меню открывается.
Измените HTML-код слева — результат обновится справа в реальном времени.
Клиентская и серверная части: кто за что отвечает
Всё, что видит и с чем взаимодействует пользователь в браузере:
Всё, что работает на сервере и не видно пользователю:
Где живут сайты и как они попадают в Интернет
Веб-сервер — программа (или компьютер), которая:
Популярные веб-серверы: Nginx (быстрый, для статики и reverse proxy), Apache (старейший, гибкий).
Хостинг — услуга размещения сайта на сервере с постоянным подключением к Интернету.
| Тип | Описание | Для кого |
|---|---|---|
| Виртуальный хостинг | Много сайтов на одном сервере, делят ресурсы | Блоги, маленькие сайты |
| VPS (виртуальный сервер) | Свой «кусок» сервера с root-доступом | Средние проекты, магазины |
| Выделенный сервер | Целый физический сервер в аренду | Высоконагруженные проекты |
| Облако (IaaS) | Виртуальные машины в облаке (AWS, Yandex Cloud) | Масштабируемые проекты |
| Статический хостинг | Только HTML/CSS/JS файлы (GitHub Pages, Netlify) | Лендинги, документация |
Домен (alterna-edu.ru) — читаемое имя сайта. Регистрируется у регистратора (REG.RU, GoDaddy). DNS связывает домен с IP-адресом сервера (подробнее на странице 6.2).
От HTML-текста к пикселям на экране
Как устроены сайты, которыми вы пользуетесь каждый день
Одностраничное приложение: загружается один раз, далее JS обновляет части страницы без перезагрузки. Примеры: Gmail, Telegram Web, Google Maps.
Плюсы: быстро работает, как десктопное приложение. Минусы: сложнее для SEO, первая загрузка медленнее.
API — интерфейс, через который frontend общается с backend. Самый популярный стиль — REST:
| Метод | Действие | Пример |
|---|---|---|
GET /api/users | Получить список | Список пользователей |
GET /api/users/5 | Получить одного | Профиль пользователя 5 |
POST /api/users | Создать | Зарегистрировать нового |
PUT /api/users/5 | Обновить целиком | Изменить все поля |
PATCH /api/users/5 | Обновить частично | Изменить только имя |
DELETE /api/users/5 | Удалить | Удалить пользователя |
CDN — сеть серверов по всему миру, хранящих копии контента. Пользователь получает из ближайшей точки. Примеры: Cloudflare, Akamai.