CDN: что это и зачем нужен

CDN (Content Delivery Network) — сеть серверов по всему миру для быстрой доставки контента пользователям. Снижает TTFB и ускоряет загрузку статики.

cdnпроизводительностьсетькешированиестатика

Что такое CDN

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

CDN значительно снижает задержку (latency) и TTFB, особенно для пользователей из других стран.

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

Без CDN:
Пользователь (Москва) ────────────────────── Сервер (Франкфурт)
                              ~30 мс RTT

С CDN:
Пользователь (Москва) ── CDN Edge (Москва) ── Origin (Франкфурт)
                    ~3 мс RTT    кеш файлов

Повторный запрос:
Пользователь (Москва) ── CDN Edge (Москва)
                    ~3 мс RTT  (без обращения к origin)

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

CDN обычно кешируют:

  • Статические файлы — CSS, JS, изображения, шрифты
  • Видео и аудио — потоковое вещание
  • Статические HTML-страницы — SSG-контент
  • API-ответы — при настроенном кешировании

CDN не кешируют (по умолчанию):

  • Динамический контент (зависит от пользователя)
  • POST-запросы
  • Данные авторизованных пользователей

Популярные CDN-сервисы

| Сервис | Особенности | Цена | |--------|-------------|------| | Cloudflare | Широкий бесплатный тариф + DDoS защита | Бесплатно / от $20/мес | | AWS CloudFront | Интеграция с AWS | Pay-per-use | | Fastly | Мгновенная инвалидация кеша | От $50/мес | | Bunny CDN | Дёшево, хорошее покрытие | ~$0.01/ГБ | | jsDelivr | Бесплатно для npm пакетов | Бесплатно |

Настройка Cloudflare CDN

  1. Зарегистрируйтесь на cloudflare.com
  2. Добавьте свой домен
  3. Измените NS-записи домена на NS-серверы Cloudflare
  4. Настройте Page Rules для кеширования
// Заголовки для кеширования статики
Cache-Control: public, max-age=31536000, immutable
// для версионированных файлов (bundle.abc123.js)

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

Cloudflare и другие CDN предоставляют дополнительную защиту:

  • DDoS защита — фильтрация вредоносного трафика
  • WAF (Web Application Firewall) — блокировка атак
  • Bot management — защита от скрейперов
  • SSL/TLS — бесплатные сертификаты и управление

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

При обновлении файлов нужно сбросить кеш:

# Cloudflare API
curl -X POST "https://api.cloudflare.com/client/v4/zones/ZONE_ID/purge_cache" \
  -H "Authorization: Bearer TOKEN" \
  -d '{"purge_everything": true}'

Или используйте версионирование файлов: bundle.v123.js — при изменении меняется имя файла, старый кеш не мешает.

Проверка HTTP/2 на reChecker

Используйте HTTP/2 & Brotli для проверки протокола и сжатия на вашем сайте. Многие CDN автоматически включают HTTP/2 и Brotli — инструмент подтвердит их работу.

FAQ

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

CDN снижает SEO? Нет, CDN улучшает SEO за счёт снижения TTFB и улучшения Core Web Vitals. Google учитывает скорость загрузки как фактор ранжирования.

Что такое «cache miss» и «cache hit»? Cache hit — запрос обслужен из кеша CDN (быстро). Cache miss — CDN не имеет кеша, запрос идёт на origin сервер (медленнее). Высокий cache hit rate (90%+) — цель оптимизации CDN.

Попробуйте инструмент

Проверьте cdn на вашем сайте с помощью бесплатного инструмента.

HTTP/2 & Brotli

Техническая поддержка

Нашли баг, сбой или ошибку в работе сервиса? Есть предложение по улучшению? Напишите нам — мы читаем каждое сообщение и стараемся быстро исправлять проблемы.