Что такое CDN?

🎯 Зачем спрашивают
  • Понимает ли кандидат базовые механизмы ускорения доставки контента в веб-приложениях.
  • Знает ли он, что оптимизация производительности — это не только «сжать картинку», но и правильно выстроить инфраструктуру.
  • Осознаёт ли, что CDN — это не только про скорость, но и про надёжность, безопасность (DDoS-защита), кеширование.
  • Может ли кандидат привести реальные trade-offs (стоимость, сложности с кеш-инвалидацией).
 
📝 Ответ
CDN (Content Delivery Network) — инструмент повышения производительности сайта или приложения.
 
Это сеть географически распределённых серверов, кеширующих статику:
  • CSS
  • JS
  • медиа (изображения, видео)
  • шрифты
 
notion image
 
Когда пользователь заходит на сайт, то запрос идёт не к «основному» серверу (origin), а к ближайшему CDN-узлу (edge server). Контент загружается быстрее, с меньшей задержкой.
 
Подробнее:
Что делает CDN:
  • Снижает задержеку (latency) – контент (изображения, видео, скрипты, стили) доставляется пользователю с ближайшего сервера CDN, а не из одного удалённого дата-центра.
  • Ускоряет загрузку страницы – статические ресурсы кэшируются в CDN, поэтому клиент получает их быстрее.
  • Разгружает основной сервер – меньше прямых обращений к origin-серверу, что уменьшает риск перегрузки.
  • Оптимизирует трафик – многие CDN умеют сжимать изображения, минифицировать файлы и использовать современные протоколы (HTTP/2, HTTP/3, QUIC).
  • Устойчивость и доступность – при сбоях в одном узле CDN запросы перенаправляются на другой, что повышает надёжность.
 
Типы CDN
  • Storage-backed CDN — коробочные, хранилище + CDN в одном пакете (например, AWS CloudFront + S3).
  • Proxy CDN — некоробочные, CDN как прослойка над тем, что у вас уже есть (Cloudflare, Fastly).
 
 
⚖️ Компромиссы
  • ✅ Плюсы: быстрее загрузка, меньше нагрузка на origin, защита от DDoS, гибкий кеш.
  • ❌ Минусы: сложнее отладка (проблемы кеша), возможные задержки при инвалидировании, стоимость.
 
🔎 Встречные вопросы
  • Как инвалидировать кеш в CDN?
  • В чём разница между push CDN и pull CDN?
  • Как работает edge-compute (Cloudflare Workers)?
  • Когда CDN может навредить (например, при stale контенте)?
 
🚩 Красные флаги
  • CDN = это просто прокси (слишком упрощённо).
  • CDN = это только картинки (ограниченное понимание).
  • Нет упоминания про кеш-инвалидацию или TTL.
 
🛠 Практика
 
📚 Источники / ссылки