Что такое CDN и как работает доставка контента
Разбираем путь запроса через CDN: DNS, edge, origin, кэш, TLS и очистку. Когда сеть ускоряет сайт, а какие проблемы она не решает.
WordPress, интернет-магазины и стоимость продления
Она сравнивает WordPress-хостинг, домены, почту, платные бэкапы и условия продления для интернет-магазинов.
CDN — это распределённая сеть серверов, которая отдаёт пользователю копию контента с подходящей пограничной точки. При промахе кэша CDN запрашивает файл у исходного сервера. Ускорение зависит от географии, правил кэширования, TLS, DNS, размера файлов и исправности origin, поэтому подключение само по себе не гарантирует быстрый сайт.
CDN не заменяет хостинг
Сеть доставки контента находится между посетителем и исходным сервером, который часто называют origin. На origin остаются сайт, приложение или бакет с оригинальными файлами. CDN получает оттуда ответы, временно хранит разрешённые копии и раздаёт их через свои пограничные точки.
Если origin не умеет сформировать правильный ответ, CDN не починит приложение. Он может уменьшить число повторных запросов за статикой, но база данных, корзина и личный кабинет по-прежнему зависят от серверной части.
| Компонент | Роль | Чего не гарантирует |
|---|---|---|
| DNS | Направляет домен на инфраструктуру CDN | Кэширование и ускорение ответа |
| Edge | Принимает запрос рядом с выбранной точкой сети | Физически ближайший сервер для каждого клиента |
| Кэш | Повторно использует подходящую копию ответа | Свежесть без корректных правил |
| Origin | Хранит или формирует исходный контент | Доступность при любой нагрузке |
| TLS | Шифрует соединения на настроенных участках | Исправность приложения и отсутствие уязвимостей |
Как проходит запрос
Сначала браузер запрашивает адрес домена через DNS. Для отдельного домена раздачи владелец часто создаёт CNAME на имя, выданное CDN. DNS направляет запрос, но не решает, что можно положить в кэш и на какой срок.
Далее запрос попадает на edge. CDN вычисляет ключ кэша из пути и выбранных параметров. Если подходящая свежая копия есть, происходит cache hit: edge отвечает без запроса к origin.
При cache miss копии нет, она устарела или правила запрещают её использовать. Тогда CDN обращается к origin, получает ответ, возвращает его посетителю и, если разрешено, сохраняет копию для следующих запросов.
Не каждый пользователь всегда попадёт в буквально ближайший дата-центр. На маршрут влияют сеть провайдера, DNS-резолвер, доступность точки, пиринг и решения самого CDN. Поэтому географическая карта узлов не равна обещанию минимальной задержки.
Что именно кэшируется
Изображения, CSS, JavaScript, шрифты и загрузочные файлы обычно проще кэшировать, потому что один и тот же объект подходит многим посетителям. Динамический HTML, ответы API и страницы с cookie требуют осторожных правил.
Cloudflare, например, различает типичные статические ресурсы и динамический HTML в стандартном поведении кэша. Это иллюстрация принципа, а не универсальная настройка для любого CDN.
На решение влияют заголовки Cache-Control, срок свежести, cookie, строка запроса, метод и правила конкретного сервиса. Нельзя включать общее кэширование личного кабинета только ради высокого hit ratio: чужая персональная страница в общем кэше опаснее медленного ответа.
Ключ кэша должен различать варианты, которые действительно меняют содержимое. Если сайт отдаёт разные языки, форматы изображений или авторизованные ответы, игнорирование нужного заголовка или параметра смешает версии.
DNS и подключение домена
CDN обычно выдаёт техническое имя, на которое направляют домен или поддомен через DNS. После изменения старые ответы могут оставаться у резолверов до истечения их TTL. Это нормальная часть DNS, а не ошибка кэша страниц.
Перед переключением проверьте домен на тестовой конфигурации, сертификат и Host-заголовок, который CDN отправит origin. Ошибка здесь может открыть чужой виртуальный хост, вызвать цикл перенаправлений или разорвать TLS.
DNS — адресная книга с последствиями. Подготовьте прежнее значение записи и условие отката. Не удаляйте старую конфигурацию origin, пока запросы через CDN не проверены из нескольких сетей.
TLS работает на двух участках
При HTTPS есть как минимум соединение посетителя с CDN и соединение CDN с origin. Для каждого участка нужны совместимые протоколы, имя хоста и доверенный сертификат согласно выбранному режиму.
Сертификат на edge не доказывает, что участок до origin тоже проверяется безопасно. И наоборот, исправный сертификат origin не поможет, если домен раздачи не включён в сертификат CDN. Зелёный замок подтверждает защищённое соединение, а не правильность всего сайта.
Проверьте автоматическое продление, поведение при ошибке сертификата origin и запрет небезопасного отката на HTTP. Не выбирайте режим, который отключает проверку origin, только чтобы быстрее завершить настройку.
Очистка и обновление кэша
Если заменить файл по прежнему адресу, edge может продолжать отдавать свежую по своим правилам копию. Есть два нормальных подхода: дождаться истечения срока либо удалить нужный объект из кэша.
Для статических сборок надёжнее менять имя файла вместе с содержимым, например через хэш версии. Новая страница сразу ссылается на новый URL, а старая копия не мешает обновлению.
Полная очистка кэша возвращает поток промахов к origin и может резко увеличить его нагрузку. Yandex Cloud рекомендует выборочную очистку отдельных путей. Очищайте то, что изменилось, и заранее проверяйте запас origin.
Очистка не исправляет неправильный Cache-Control. Если ошибка повторяется после каждого обновления, нужно пересмотреть правила, а не превращать purge в обязательный этап каждой публикации.
Что CDN может улучшить
При подходящем контенте CDN сокращает путь повторной доставки, уменьшает число запросов за статикой к origin и распределяет трафик по своей сети. Это особенно заметно для тяжёлых файлов и аудитории, удалённой от исходного сервера.
Некоторые сервисы добавляют защиту от части сетевых атак, ограничение запросов, сжатие и преобразование изображений. Эти функции различаются по продуктам и тарифам. Наличие слова CDN не гарантирует доступность, безопасность или экономию.
Результат проверяют несколькими метриками:
- временем ответа из регионов реальной аудитории;
- долей попаданий и промахов кэша;
- трафиком и нагрузкой на origin;
- ошибками и стоимостью доставки.
Одна высокая доля попаданий может скрывать медленные динамические страницы.
Чего CDN не исправляет
CDN не ускорит медленный запрос к базе данных, если ответ нельзя безопасно кэшировать. Он не уменьшит тяжёлый JavaScript в браузере и не исправит слишком большое изображение, которое всё равно нужно передать пользователю.
Он также добавляет слой конфигурации. Неверный DNS, TLS, ключ кэша или правило доступа способны сделать сайт недоступным. Self-hosting как дача зимой: дополнительный слой полезен только пока его кто-то обслуживает.
Не берите то, что не будете обновлять и наблюдать. Для небольшого локального сайта выигрыш может быть скромным, а сложность — реальной. Сначала измерьте путь пользователей и нагрузку на origin.
Как сравнивать провайдеров
Для первичного списка можно изучить Cloudflare, Yandex Cloud, Selectel, Gcore, Bunny и AWS. Ссылки ведут на локализованные страницы HostScout, а функции нужно сверять с документацией выбранного продукта.
Смотрите на географию аудитории, управление кэшем, журналы, поддержку TLS, защиту origin и способ подсчёта трафика и запросов. Цены и пакеты меняются, поэтому сравнивайте действующие калькуляторы на своём профиле нагрузки.
Для магазина важен не только средний ответ. Магазин платит простоем, когда ошибка очистки или сертификата блокирует карточки товара. Нужны наблюдение, тестовый домен и документированный откат.
Чек-лист
- Определите, какие ответы публичны и безопасны для общего кэша.
- Подключите тестовый домен и проверьте DNS, Host-заголовок и оба TLS-участка.
- Измерьте cache hit и miss, время ответа и трафик с origin до и после изменения.
- Обновляйте статические файлы через версионированные имена и очищайте только нужные пути.
- Сохраните старую DNS-запись и порядок отката до переключения основного домена.
Вопросы и ответы
Частые вопросы
CDN хранит весь сайт?
CDN всегда выбирает ближайший сервер?
Почему после обновления виден старый файл?
Нужен ли отдельный сертификат для origin?
Практический вывод
CDN полезен, когда известны аудитория, кэшируемый контент и ограничения origin. Подключайте его как измеряемый инфраструктурный слой: с тестовым доменом, корректным TLS, ясным ключом кэша и планом отката. Тогда сеть доставки решает конкретную задачу, а не добавляет ещё одну панель управления.
Статью подготовили
WordPress, интернет-магазины и стоимость продления
Она сравнивает WordPress-хостинг, домены, почту, платные бэкапы и условия продления для интернет-магазинов.
Проверка фактов
HostScout editorialСтатьи по теме
Ошибка 403 Forbidden: причины и исправление
Ошибка 403 Forbidden: найдите источник запрета по журналам, проверьте индексный файл, права, правила Nginx или Apache и блокировку IP.
Ошибка 502 Bad Gateway: причины и исправление
Что означает ошибка 502, что может сделать посетитель и как владельцу сайта проверить CDN, прокси, веб-сервер и приложение без слепых перезапусков.
Фотохостинг: где хранить и делиться фото
Разбираем, когда нужен публичный фотохостинг, медиатека сайта или объектное хранилище, как настроить доступ и не потерять изображения.
Cloudflare: DNS, CDN и защита сайта
Cloudflare для сайта: как подключить DNS, включить CDN и защиту, не сломать почту, SSL, WAF и доступ из России при миграции.
SSD против HDD для сервера: что выбрать
SSD против HDD для сервера: как выбрать накопитель под базу, сайт, архив и резервные копии без переплаты и скрытых рисков.
Пинг: что это, как проверить и читать результат
Пинг показывает задержку сети до сервера: как проверить командой ping, увидеть потери пакетов и выбрать ближнюю площадку без догадок.