CDN (Content Delivery Network) — распределённая сеть серверов-узлов, расположенных в разных географических точках. При подключении CDN статические файлы сайта (изображения, CSS, JS, шрифты, видео) кэшируются на узлах CDN по всему миру. Пользователь из Новосибирска получает файлы не из московского ЦОД, а с ближайшего CDN-узла — задержка снижается с 40–80 мс до 5–15 мс.
Как работает
Хостинг подключает CDN через смену DNS-записей (CNAME) или настройку origin-сервера. Запрос пользователя маршрутизируется к ближайшему POP (Point of Presence) CDN через Anycast-маршрутизацию. Если файл есть в кэше узла — отдаётся сразу (cache hit). Если нет (cache miss) — CDN запрашивает файл у origin-сервера, кэширует и отдаёт пользователю.
Интеграция с хостингом бывает двух видов: встроенный CDN (хостер владеет собственной CDN-инфраструктурой) и сторонний CDN (Cloudflare, BunnyCDN, KeyCDN). Cloudflare Free уже встроен в DNS и доступен бесплатно — достаточно перенести домен на Cloudflare NS-серверы.
История
CDN-концепцию разработал Массачусетский технологический институт (MIT) в 1990-х годах. Первая коммерческая CDN — Akamai Technologies — запущена в 1998 году. Cloudflare основана в 2009 году и к 2024 году обрабатывает около 20% всего интернет-трафика. В России CDN-инфраструктуру для хостинговых компаний предоставляют G-Core Labs, EdgeCenter, NGENIX.
Что ускоряет CDN
- Статические файлы: изображения, CSS, JavaScript, шрифты
- Видео и аудио (с адаптивным стримингом HLS/DASH)
- HTML-страницы (если включено full-page caching)
- Файлы для скачивания (дистрибутивы, архивы)
На что обращать внимание
CDN не заменяет быстрый хостинг — динамические запросы (PHP, API) всё равно идут на origin-сервер. Убедитесь, что CDN корректно настраивает заголовки кэширования (Cache-Control, Expires) и не кэширует страницы с персонализированным контентом (корзина, личный кабинет). Gzip/Brotli-сжатие на CDN снижает объём передаваемых данных на 60–80%.
Производительность с CDN и без
Разница между хостингом с CDN и без него особенно заметна для пользователей из регионов. Сайт на московском хостинге для жителя Владивостока загружается с задержкой 80–120 мс — данные проходят ~9000 км по оптике. CDN-узел в Новосибирске или Хабаровске снижает задержку до 10–30 мс. Для сайтов с объёмными страницами (>2 МБ трафика) и международной аудиторией CDN — не опция, а необходимость. Правильная настройка заголовков Cache-Control: max-age=31536000 для статики позволяет кэшировать файлы на узлах CDN на год, полностью исключая повторные запросы к origin-серверу.
Выбор CDN для российского хостинга
Для русскоязычных сайтов важны CDN-провайдеры с узлами в России. BunnyCDN имеет PoP в Москве и стоит от $0.01/ГБ. G-Core Labs (российский провайдер) предлагает узлы в 140+ городах СНГ. Cloudflare бесплатно для небольшого трафика, имеет московский PoP. Для интернет-магазинов с изображениями товаров CDN окупается мгновенно: экономия на трафике хостинга плюс ускорение загрузки напрямую влияет на конверсию.
Типичные ошибки с CDN
Первая ошибка — кэшировать динамические страницы (корзина, личный кабинет): пользователи видят чужие данные. Решение — явно исключать куки-сессии из кэширования. Вторая ошибка — забыть настроить HTTPS на origin до подключения CDN: CDN будет проксировать незащищённый трафик между собой и сервером. Третья — не настроить TTL: без явного Cache-Control CDN кэширует ресурсы на дефолтные 30 минут, что неоптимально для статики (лучше 1 год для хэшированных файлов).