CDN (Content Delivery Network, сеть доставки контента) — географически распределённая сеть серверов (edge-серверов), кэширующих контент ближе к конечным пользователям. Когда пользователь запрашивает файл (CSS, JS, изображение, видео), CDN обслуживает запрос с ближайшего edge-сервера, а не с origin-сервера. Это снижает задержку (latency) и нагрузку на основной сервер.
Как работает CDN
При первом запросе к файлу CDN-сервер проверяет кэш. Если файла нет — запрашивает его с origin-сервера (Pull CDN) или файл загружен заранее (Push CDN). Последующие запросы к тому же файлу отдаются из кэша CDN-сервера без обращения к origin. Маршрутизация к ближайшей edge-точке осуществляется через Anycast DNS или GeoDNS.
Время жизни кэша (TTL) задаётся через заголовок Cache-Control: max-age=31536000 для статических файлов или настраивается в CDN-панели. При обновлении файла инвалидация кэша происходит через CDN API или изменение URL (version в filename).
Виды CDN-контента
- Статика: CSS, JS, изображения, шрифты, favicon — кэшируются aggressively
- Видео и аудио: потоковая передача через CDN с поддержкой HLS/DASH
- Динамический контент: Cloudflare Workers, Lambda@Edge — edge-вычисления
- API: кэширование GET-запросов с идентичными ответами
История
CDN изобрела компания Akamai, основанная в 1998 году выпускниками MIT — Томом Левенсоном (Tom Leighton) и Дэнни Левиным (Danny Lewin). Первый массовый CDN-трафик — трансляция Super Bowl в 1999 году (Akamai). В 2010 году Cloudflare запустил CDN, доступный малому бизнесу. В 2019 году Cloudflare вышел на IPO. К 2024 году Cloudflare обрабатывает около 20% мирового веб-трафика.
На что обращать внимание
CDN снижает TTFB для статики на 50–90% для пользователей вне региона сервера. Московский сайт без CDN: пользователь из Новосибирска получает файлы за 80–150 мс; с CDN (edge в Новосибирске) — за 5–20 мс. Для WordPress: плагин WP Rocket или W3 Total Cache + Cloudflare дают ощутимый прирост TTFB и Core Web Vitals. Не кэшируй через CDN: корзину, страницы оплаты, авторизации, персонализированный контент — это вернёт устаревшие данные пользователям.
История CDN
Akamai Technologies — первая крупная CDN-компания, основана в 1998 году Тимом Бернерс-Ли и командой MIT. К 2001 году Akamai обслуживала 20% всего интернет-трафика. Amazon CloudFront (2008) — первая CDN от cloud-провайдера с pay-as-you-go моделью. Cloudflare (2010) добавила CDN к DNS-резолверу, сделав её бесплатной для базового использования. KeyCDN (2013), BunnyCDN (2012) принесли CDN малому бизнесу. В 2019–2020 годах CDN стала стандартной компонентой любого production-сайта.
Как работает CDN
CDN кэширует статические ресурсы (изображения, CSS, JS, видео) на edge-серверах. Когда пользователь из Новосибирска запрашивает изображение с московского origin, CDN доставляет его с edge-сервера в Новосибирске (или ближайшей точке). Задержка снижается с 80–100 мс до 5–15 мс. Для динамического контента современные CDN поддерживают edge computing: Cloudflare Workers выполняют JavaScript на edge без обращения к origin.
Ведущие CDN-провайдеры
| CDN | Edge-точек | Бесплатный план | Особенности |
|---|---|---|---|
| Cloudflare | 310+ | Да | DDoS-защита, DNS, Workers |
| Akamai | 4 000+ | Нет | Enterprise, enterprise-цены |
| Fastly | 90+ | Ограниченный | Real-time кэш-инвалидация |
| BunnyCDN | 120+ | Нет (от $1/мес) | Дёшево, простой UI |
| NGENIX | Россия | Нет | 152-ФЗ, РФ-трафик |
На что обращать внимание
Правильная настройка Cache-Control заголовков критична: Cache-Control: public, max-age=31536000, immutable для версионированных файлов (хэш в имени) и no-store для динамического контента. Не кэшируй: страницы корзины, оплаты, авторизации, персонализированный контент. CDN ускоряет TTFB и метрику LCP (Core Web Vitals). Cloudflare бесплатный план — лучший старт для большинства проектов.