CDN: как работает и зачем нужен
Что такое CDN
Content Delivery Network (CDN) — это распределённая сеть серверов, расположенных по всему миру. Вместо того чтобы загружать контент с одного origin-сервера, пользователь получает его с ближайшего edge-сервера CDN. Это сокращает расстояние, которое проходят данные, и как следствие — уменьшает задержку.
Если ваш сервер в Москве, а пользователь в Токио, данные проходят ~9000 км. С CDN пользователь из Токио получает контент с edge-сервера в Японии — расстояние сокращается до сотен километров.
Как CDN ускоряет доставку
Edge-серверы и PoP
CDN состоит из Points of Presence (PoP) — дата-центров в разных точках мира. Каждый PoP содержит edge-серверы, которые хранят кэшированные копии контента. Крупные CDN имеют 200-300+ PoP.
Anycast маршрутизация
CDN использует anycast — технологию, при которой один IP геолокацию объявляется из множества точек. Сетевая инфраструктура автоматически направляет запрос к ближайшему серверу по BGP-метрикам.
Кэширование
Edge-серверы кэшируют контент согласно проверку HTTP-заголовков (Cache-Control, s-maxage). При первом запросе контент загружается с origin-сервера (cache miss). Последующие запросы обслуживаются из кэша (cache hit).
Оптимизация соединения
- TLS termination — TLS handshake выполняется на edge-сервере, ближе к пользователю
- HTTP/2 и HTTP/3 — поддержка современных протоколов без настройки на origin
- TCP оптимизация — предустановленные соединения между edge и origin
- Сжатие (Brotli/gzip) — автоматическое сжатие на edge
Что кэшировать через CDN
Статические ресурсы (обязательно)
- CSS, JavaScript файлы
- Изображения (JPEG, PNG, WebP, AVIF, SVG)
- Шрифты (WOFF2, WOFF)
- Видео и аудио файлы
- PDF и другие документы
Динамический контент (опционально)
- HTML-страницы с короткими TTL
- API документацию-ответы с публичными данными
- Результаты поиска (кэш по query string)
Не кэшируйте
- Персонализированный контент (личный кабинет, корзина)
- Ответы с Set-Cookie
- POST/PUT/DELETE запросы
- Страницы с авторизацией
CDN и безопасность
DDoS-защита
CDN поглощает DDoS-атаки благодаря огромной пропускной способности распределённой сети. Атака, которая положила бы один сервер, размазывается по сотням edge-серверов.
WAF
Многие CDN включают Web Application Firewall, фильтрующий вредоносные запросы до origin-сервера.
Bot protection
Обнаружение и блокировка ботов, скрейперов и автоматизированных атак.
SSL/TLS
CDN обеспечивают автоматические проверку SSL и поддержку последних версий TLS.
Когда CDN не нужен
- Локальная аудитория — если все пользователи в одном городе/регионе, один сервер может быть достаточно
- Низкий трафик — накладные расходы CDN не оправдаются
- Полностью динамический контент — если нечего кэшировать, CDN даст минимальный эффект
- Регуляторные ограничения — если данные не могут покидать определённую юрисдикцию
Как проверить работу CDN
Используйте HTTP-чекер Enterno.io для анализа заголовков ответа. CDN обычно добавляет свои заголовки: CF-Cache-Status (Cloudflare), X-Cache (AWS CloudFront), X-CDN (другие). Также проверьте время отклика с помощью Ping-теста и теста скорости.
Мониторинг CDN
CDN добавляет слой абстракции, который нужно мониторить:
- Cache hit ratio — должен быть выше 85-90%
- Время отклика edge-серверов
- Origin pull — частота обращений к origin-серверу
- Ошибки 5xx на edge и origin
Настройте мониторинг uptime для контроля доступности через CDN.
Итоги
CDN — фундаментальный компонент инфраструктуры для сайтов с глобальной аудиторией. Он ускоряет загрузку, снижает нагрузку на origin-сервер, защищает от DDoS и улучшает SEO через время загрузки. Настройте CDN для статических ресурсов и мониторьте cache hit ratio для максимальной эффективности.
Проверьте ваш сайт прямо сейчас
Проверить →