ТерминРазработкаОбновлено

CDN

CDN — сеть доставки контента: серверы в разных городах хранят копии файлов сайта и отдают их с ближайшего узла. У Yandex Cloud CDN в документации указано 78 точек присутствия, 27 городов в России.

Содержание
  1. 01CDN: сеть узлов, которые отдают сайт вместо одного сервера
  2. 02Путь запроса через CDN: от DNS до кеша узла
  3. 03Что кеширует CDN: статика, Cache-Control и страницы с персональными данными
  4. 04Сколько даёт CDN: расчёт на задержках
  5. 05Российские CDN-провайдеры: что сравнивать при выборе
  6. 06С чем путают CDN: хостинг, кеш браузера и прокси
  7. 07Частые вопросы

CDN: сеть узлов, которые отдают сайт вместо одного сервера

CDN (Content Delivery Network, сеть доставки контента) — это группа серверов в разных городах и странах, где лежат копии файлов вашего сайта. Посетитель получает картинки, стили, скрипты и видео с ближайшего узла, а не с основного сервера. Основной сервер в этой схеме называют источником, или origin, а узлы CDN — точками присутствия.

Идея держится на простом факте: расстояние влияет на задержку. Если сайт стоит в Москве, а покупатель сидит во Владивостоке, каждый файл идёт через всю страну. CDN приближает файлы к человеку и разгружает основной сервер, который обслуживает меньше запросов.

Путь запроса через CDN: от DNS до кеша узла

Ближайший узел провайдер определяет по геолокации адреса (GeoDNS) или маршрутизацией по протоколу BGP (Anycast). В Yandex Cloud CDN запросы принимает CDN-балансировщик, а ваш домен привязывают к нему записью CNAME.

ШагЧто происходитРезультат для посетителя
Выбор узлаЗапрос уходит на ближайший к посетителю узелКороткий путь по сети
Файл в кеше (HIT)Узел отдаёт копию, к источнику не обращаетсяБыстрый ответ
Файла нет (MISS)Узел запрашивает файл у источника, кладёт в кеш и отдаётПервый запрос из региона медленнее
Повторный запросФайл берётся из кеша, пока не истёк срок храненияБыстрый ответ

У Selectel по умолчанию включён origin shielding: промежуточный сервер сначала кеширует файлы у источника, а остальные узлы обращаются к нему. Источник получает запрос только при промахе на этом слое.

Что кеширует CDN: статика, Cache-Control и страницы с персональными данными

Лучше всего CDN работает со статикой: изображения, CSS, JavaScript, шрифты, видео, документы. Страницы, которые собираются под каждого пользователя, кеш не ускоряет: у двух посетителей разные корзины и кабинеты.

Срок хранения копии задают HTTP-заголовки. Директива Cache-Control: max-age указывает, сколько секунд файл считается свежим. Для файлов с хешем в имени (например, app.3f9a1c.js) MDN приводит значение max-age=31536000, то есть год: новое содержимое получит новое имя. Директива private запрещает общим кешам, включая CDN, хранить ответ, а no-store не разрешает сохранять его нигде.

У Yandex Cloud CDN есть нюансы, которые нужно знать заранее. Ответы на запросы с заголовком Cookie не кешируются, пока вы не включите игнорирование. Контент, который никто не запрашивал 36 часов, удаляется из кеша узлов. Если файл на сайте обновился, а посетители видят старый, нужна очистка кеша (purge): документация советует очищать выборочно, потому что полная очистка резко повышает нагрузку на источник.

Отдельный вопрос — персональные данные. Страницы с данными конкретного человека на общих узлах не кешируют. По части 5 статьи 18 закона 152-ФЗ при сборе персональных данных, в том числе через интернет, запись, систематизация, накопление, хранение, уточнение и извлечение данных граждан России с использованием баз за пределами страны не допускаются, кроме случаев из пунктов 2, 3, 4 и 8 части 1 статьи 6. Как учесть это в архитектуре, разбирают в рамках услуги соответствия 152-ФЗ.

Сколько даёт CDN: расчёт на задержках

В упрощённой схеме первый байт страницы по защищённому соединению приходит через три круговых обращения (RTT): рукопожатие TCP, рукопожатие TLS 1.3 и сам HTTP-запрос. Допустим, до основного сервера RTT составляет 100 мс, а до узла CDN — 20 мс. Время до первого байта: 300 мс против 60 мс. Экономия в 240 мс набегает на каждом новом соединении и заметнее всего на мобильной сети.

Эффект для сервера считается проще. Допустим, за сутки приходит 10 000 запросов к картинкам. Если кеш закрывает 90% из них, до источника доходят 1 000. Но этот процент никто не обещает: в документации Yandex Cloud прямо сказано, что доля попаданий в кеш не гарантируется. Быстрая отдача статики улучшает показатели Core Web Vitals, в первую очередь LCP. Но CDN не лечит тяжёлую страницу: картинку на 5 МБ он доставит быстрее, а легче она не станет.

Российские CDN-провайдеры: что сравнивать при выборе

ПровайдерЧто указано в документации и на сайте
Yandex Cloud CDN78 точек присутствия в 8 странах, из них города в России — 27; источник: свой сервер или бакет Object Storage; предзагрузка и выборочная очистка кеша
Selectel CDNПрогрев кеша, origin shielding по умолчанию, режим Use Stale (при недоступности источника отдаёт сохранённое), сжатие Gzip и Brotli, HTTP/2, TLS 1.3
CDNvideoПровайдер с уклоном в видео и стриминг; среди услуг защита от DDoS-атак, WAF и облачные серверы

Сравнивайте по критериям вашей аудитории. Совпадает ли география узлов с регионами, откуда идёт трафик. Как устроена тарификация: у Selectel, например, месячная плата за ресурс включает пакет трафика, а сверх него трафик списывается почасово. Можно ли очищать кеш выборочно. Есть ли HTTPS и защита от атак. Зарубежные сети тоже работают с российскими сайтами, но условия оплаты и доступность узлов зависят от внешних обстоятельств, и этот риск оценивают заранее.

С чем путают CDN: хостинг, кеш браузера и прокси

  • Хостинг. Место, где лежат оригиналы файлов и работает сайт, см. термин «Хостинг». CDN его не заменяет: ему всегда нужен источник.
  • Кеш браузера. Хранит файлы на устройстве одного посетителя. Кеш CDN общий: файл, запрошенный одним человеком, ускоряет загрузку для остальных в регионе.
  • Обратный прокси. Nginx перед приложением тоже кеширует ответы, но стоит в одном месте. CDN — множество таких точек.

BigPanda подключает и настраивает CDN в рамках поддержки сайтов, а на новых проектах закладывает раздачу статики с отдельного поддомена вашего домена ещё на этапе разработки.

Частые вопросы

CDN что это такое простыми словами?

Это сеть серверов, где хранятся копии файлов вашего сайта. Когда человек открывает страницу, картинки и скрипты приходят с ближайшего к нему сервера, а не с основного. Сайт грузится быстрее, а главный сервер получает меньше запросов и реже перегружается.

Нужен ли CDN небольшому сайту?

Для визитки с аудиторией в одном городе выигрыш невелик: сервер и так рядом. Польза растёт, когда посетители из разных регионов, на страницах много картинок и видео или в рекламные дни случаются всплески трафика. Начните с замера скорости и географии аудитории, а решение принимайте по результатам.

Как подключить CDN к сайту?

Создайте ресурс у провайдера и укажите источник: адрес сервера или хранилище файлов. Затем направьте на CDN домен для статики записью CNAME, задайте срок кеширования и подключите SSL-сертификат. После проверки переведите ссылки на файлы сайта на новый адрес.

Как очистить кеш CDN, если на сайте видна старая версия?

В панели провайдера запустите очистку кеша (purge) для нужных файлов или каталога. Полную очистку лучше не использовать: все узлы разом пойдут на источник. Чтобы не чистить вручную, добавляйте в имя файла версию или хеш: новая версия получает новый адрес и загружается заново.

Влияет ли CDN на SEO?

Косвенно. Он ускоряет отдачу статики, что помогает показателям скорости, а скорость учитывается при оценке удобства страницы. Прямой связи «подключил CDN — вырос в выдаче» нет, обещать позиции нельзя. Следите, чтобы роботы поисковиков имели доступ к стилям и скриптам, раздаваемым через CDN.

Перейти к букве

Другие термины глоссария