cdn

CDN (Content Delivery Network — сеть доставки контента) — это географически распределённая сеть серверов, кеширующих и доставляющих контент пользователям с ближайшего к ним узла. Вместо того чтобы каждый запрос шёл до исходного сервера в дата-центре, CDN отвечает с ближайшей точки присутствия (PoP — Point of Presence), снижая задержку и нагрузку на origin.

Как работает CDN

При первом запросе ресурса CDN-узел не имеет его в кеше и запрашивает с origin-сервера (cache miss). Ответ кешируется на узле и при последующих запросах от других пользователей отдаётся мгновенно (cache hit). Время хранения в кеше определяется заголовками HTTP: Cache-Control, Expires, ETag.

Алгоритм маршрутизации направляет пользователя на ближайший PoP: через Anycast (запрос идёт на ближайший IP) или GeoDNS (возвращает IP ближайшего узла). Крупные CDN имеют сотни и тысячи PoP по всему миру.

Что кешируют через CDN

CDN наиболее эффективен для статического контента:

  • Изображения, видео, аудио.
  • JavaScript, CSS, шрифты.
  • HTML-страницы (при JAMstack-архитектуре).
  • Программные дистрибутивы, обновления.

Современные CDN поддерживают и динамический контент через Edge Computing: выполнение кода на узлах CDN (Cloudflare Workers, Fastly Compute) позволяет персонализировать ответы или проводить A/B-тесты ближе к пользователю.

Преимущества CDN

  • Снижение latency: контент приходит с сервера в 10–50 мс, а не через полмира за 200+ мс.
  • Разгрузка origin: 80–90% трафика обслуживает CDN, origin получает только cache miss и API-запросы.
  • Защита от DDoS: CDN поглощает volumetric-атаки распределённо, не перегружая origin.
  • Глобальная доступность: CDN продолжает отдавать кешированный контент, даже если origin временно недоступен.
  • TLS-терминация: CDN терминирует HTTPS близко к пользователю, сокращая TLS-handshake.

Крупнейшие CDN-провайдеры

Cloudflare — крупнейшая сеть с более чем 300 PoP, включает DDoS-защиту, WAF, DNS. Бесплатный тариф доступен.

Akamai — старейший и крупнейший корпоративный CDN с более чем 4 000 PoP. Используется крупными медиа и ретейлом.

AWS CloudFront — интегрирован с экосистемой AWS: S3, Lambda@Edge, Shield, WAF.

Fastly — ориентирован на разработчиков, поддерживает Compute@Edge (Rust/Wasm), мгновенная инвалидация кеша.

Google Cloud CDN / Azure CDN — managed CDN в рамках соответствующих облаков.

Selectel CDN, VK CDN — российские CDN-провайдеры с PoP в РФ и СНГ.

Инвалидация кеша

Кешированный контент нужно обновлять при выходе новой версии. Стратегии: cache busting — версия файла включается в URL (app.v3.js, app.js?v=3), старый URL остаётся в кеше, но браузер запрашивает новый. Purge API — принудительное удаление конкретных URL из кеша через API CDN. TTL-based — короткое время жизни кеша, автоматическое устаревание.

CDN и безопасность

Современные CDN предоставляют встроенные средства защиты: WAF (Web Application Firewall) блокирует OWASP Top 10 атаки, Bot Management фильтрует вредоносных ботов, Rate Limiting защищает API, мониторинг SSL и HSTS предотвращают downgrade-атаки. Cloudflare, Akamai и Fastly — фактически security platforms поверх CDN.

Частые вопросы

  • Нужен ли CDN для небольшого сайта?

    Для сайта с преимущественно локальной аудиторией — не обязательно. Но Cloudflare предлагает бесплатный тариф с CDN, DDoS-защитой и SSL. Для любого публичного сайта это разумная мера без дополнительных затрат.

  • Как CDN влияет на SEO?

    Положительно. Скорость загрузки — фактор ранжирования в Google. CDN снижает TTFB (Time to First Byte) и LCP (Largest Contentful Paint) — ключевые метрики Core Web Vitals. Более быстрый сайт = лучшие позиции в поиске.

  • Что такое Edge Computing и как оно связано с CDN?

    Edge Computing — выполнение кода непосредственно на CDN-узлах, близко к пользователю, без обращения к origin. Cloudflare Workers, Fastly Compute@Edge, AWS Lambda@Edge позволяют запускать JavaScript/Wasm на edge-серверах. Это открывает возможности для персонализации, A/B-тестов, аутентификации на уровне CDN.

Не хватает деталей?

Напишите, что уточнить по теме «cdn» — это помогает улучшать материал и подсказывает, какие термины добавить дальше. Email необязателен: укажите, если хотите ответ только для вас (мы не шлём рассылки).

Поделиться