CDN: что это и зачем нужен
CDN (Content Delivery Network) — сеть серверов по всему миру для быстрой доставки контента пользователям. Снижает TTFB и ускоряет загрузку статики.
Что такое 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
- Зарегистрируйтесь на cloudflare.com
- Добавьте свой домен
- Измените NS-записи домена на NS-серверы Cloudflare
- Настройте 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 →