Определение простыми словами
CDN (Content Delivery Network) — это географически распределённая сеть PoP-узлов, которые держат копии вашей статики: картинок, JS, CSS, видео, шрифтов. Когда пользователь из Новосибирска запрашивает сайт, расположенный во Франкфурте, CDN отдаёт файлы с ближайшего сибирского кэша. Время ответа падает с 200 мс до 20 мс.
CDN работает поверх DNS и BGP-anycast: один и тот же домен резолвится в разные IP в зависимости от региона запроса. Современные провайдеры (Cloudflare, Akamai, BunnyCDN) добавляют защиту от DDoS, WAF и edge-вычисления.
Сравнение
| Сценарий | Без CDN | С CDN |
|---|---|---|
| Время до первого байта (RU → DE) | 180–250 мс | 15–40 мс |
| Нагрузка на origin | 100% трафика | 5–15% трафика |
| Защита от DDoS L7 | отсутствует | встроенная фильтрация |
| Стоимость трафика | тариф хостинга | от $0,01/ГБ |
| SSL | сертификат на origin | edge-сертификат + origin pull |
| Гео-блокировки | через .htaccess | правилами в панели |
Кейсы использования
- Интернет-магазин с покупателями по всей России кэширует каталог и изображения товаров на edge-узлах.
- Видеосервис раздаёт HLS-плейлисты через CDN, снижая нагрузку на источник до 8–10%.
- SaaS-приложение прячет origin за Cloudflare и переживает атаку 200 Гбит/с без падения.
- Новостной портал использует CDN для разгрузки во время вирусных публикаций.
- Негативный сценарий: динамические страницы личного кабинета случайно попали в кэш — пользователи видят чужие данные. Лечится правильными Cache-Control и Vary-заголовками.
Технические детали
# Проверить, отдаётся ли контент через CDN
curl -I https://example.com/static/main.css | grep -iE 'cf-|x-cache|server'
# Принудительный сброс кэша через API Cloudflare
curl -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/purge_cache"
-H "Authorization: Bearer $API_TOKEN"
-H "Content-Type: application/json"
--data '{"files":["https://example.com/style.css"]}'
# Настроить Cache-Control для статики в Nginx
location ~* .(jpg|jpeg|png|webp|css|js)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
В стек обычно входят CDN, обратный прокси и балансировщик. На стороне сервера их видно через Wireshark: клиент бьёт в anycast-IP, а origin получает только cache-miss.
🔥 Где это применяется
Частые вопросы
Нужен ли CDN для маленького сайта на 100 посетителей в день?
При локальной аудитории и сервере в том же регионе экономия будет минимальной. CDN оправдан, когда посетители из разных стран или есть тяжёлая статика — видео, фото высокого разрешения.
CDN заменяет хостинг?
Нет. CDN кэширует статику, но динамика (PHP, базы, авторизация) по-прежнему обрабатывается на origin-сервере. Хостинг остаётся обязательным.
Как CDN защищает от DDoS?
Anycast-сеть распределяет трафик по сотням PoP, поглощая объёмные атаки. Фильтр L7 отсеивает паразитные HTTP-запросы по сигнатурам и rate-limit.
Влияет ли CDN на SEO?
Положительно: ускорение TTFB и LCP — ранжирующие факторы. Главное — корректные канонические URL и заголовки кэширования, чтобы боты не индексировали edge-домены.