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.
Другие термины в теме «DevOps и облака»
Не хватает деталей?
Напишите, что уточнить по теме «cdn» — это помогает улучшать материал и подсказывает, какие термины добавить дальше. Email необязателен: укажите, если хотите ответ только для вас (мы не шлём рассылки).