Сеть доставки контента CDN (Content Delivery Network) — это распределенная система серверов, которая хранит копии файлов сайта и отдает их посетителям с ближайшей доступной точки. Вместо того чтобы каждый запрос шел напрямую на основной сервер, изображения, CSS, JavaScript, видео и другие статические файлы могут загружаться из CDN.
Зачем сайту нужен CDN
Основная задача CDN — сократить задержку между пользователем и сервером. Например, сайт размещен на сервере в Германии, а посетитель находится в Таиланде. Без CDN браузеру приходится получать файлы через длинный сетевой маршрут. При использовании CDN часть данных может быть выдана из узла, расположенного значительно ближе к пользователю.
CDN также снижает нагрузку на исходный сервер. Если один и тот же файл запрашивают тысячи посетителей, его не обязательно каждый раз формировать и передавать с основного хостинга.
Как работает сеть доставки контента
Схема достаточно простая:
- Пользователь открывает страницу сайта.
- DNS и CDN определяют подходящий узел сети.
- CDN проверяет наличие нужного файла в своем кэше.
- Если файл уже сохранен, он передается пользователю без обращения к исходному серверу.
- Если объекта нет в кэше, CDN получает его с origin-сервера и затем может сохранить копию.
Например, на странице размещена фотография размером 2 МБ. При тысяче обращений к ней серверу пришлось бы передать около 2 ГБ данных. CDN способен отдавать закэшированную копию с ближайших узлов, уменьшая количество обращений к origin.
Что можно отдавать через CDN
Чаще всего через сеть доставки контента передают изображения JPG, PNG, WebP и AVIF, таблицы стилей CSS, JavaScript-файлы, шрифты, документы, архивы, аудио и видеоматериалы.
При правильной настройке CDN можно использовать и для динамических сценариев, однако кэшировать страницы с персональными данными, корзинами и авторизацией без продуманной политики кэширования нельзя.
CDN для интернет-магазина
Для интернет-магазина CDN особенно полезен при большом количестве изображений. Допустим, карточка товара содержит десять фотографий по 300 КБ. Только изображения одной карточки весят около 3 МБ. При большом количестве посетителей это создает заметный поток данных.
CDN может отдавать изображения из кэша, тогда как PHP, CMS и база данных продолжают работать с меньшим количеством запросов. Это особенно актуально для WordPress, WooCommerce, Bitrix и других систем, где сервер одновременно выполняет программный код и обслуживает статические файлы.
Сколько стоит CDN
Стоимость зависит от выбранного провайдера, региона, объема трафика и дополнительных функций. У некоторых сервисов применяется оплата за гигабайты, у других доступны фиксированные тарифы.
Cloudflare предлагает бесплатный тариф с CDN. Профессиональный план сейчас стоит $20 в месяц при ежегодной оплате или $25 при помесячной оплате, а Business — $200 или $250 соответственно. В планы также входят различные функции безопасности и защиты сайта.
Bunny CDN использует модель оплаты за фактически переданный трафик. Для Standard Network указана стоимость $0,01 за ГБ в Европе и Северной Америке, $0,03 за ГБ в Азии и Океании, $0,045 в Южной Америке и $0,06 на Ближнем Востоке и в Африке. Минимальный ежемесячный платеж составляет $1.
Например, если через Bunny CDN за месяц передано 500 ГБ посетителям из Европы и Северной Америки, базовая стоимость передачи составит примерно $5.
Amazon CloudFront предлагает несколько моделей оплаты. В актуальных фиксированных планах есть Free за $0, Pro за $15, Business за $200 и Premium за $1000 в месяц. Например, Pro включает до 10 млн запросов и 50 ТБ передачи данных в месяц в рамках установленного плана.
CDN или обычный хостинг?
CDN не является полной заменой хостинга. Основной сервер по-прежнему нужен для базы данных, PHP, CMS, личного кабинета, оформления заказов и других динамических операций.
Правильнее воспринимать CDN как дополнительный слой между посетителем и исходной инфраструктурой. Он берет на себя значительную часть статического трафика и позволяет быстрее доставлять контент пользователям из разных регионов.
Как подключить CDN к сайту
Сначала выбирают CDN-провайдера и добавляют домен. Затем указывают origin-сервер, настраивают DNS и SSL-сертификат. После этого определяют правила кэширования.
Например, изображения можно хранить в кэше несколько дней или недель, а CSS и JavaScript — дольше, используя версионирование файлов. Для динамических URL задаются отдельные правила, чтобы пользовательские данные случайно не попали в общий кэш.
Стоит ли подключать CDN
CDN особенно полезен сайтам с посетителями из разных стран, большим количеством изображений, высокой посещаемостью или значительным объемом статического трафика. Для небольшого локального сайта с аудиторией в одном городе необходимость подключения может быть ниже.
При выборе CDN важно смотреть не только на цену за гигабайт. Имеют значение расположение узлов, скорость передачи, возможности кэширования, SSL, защита от атак, статистика, ограничения и удобство управления. Правильно настроенная сеть доставки контента способна одновременно улучшить скорость загрузки страниц, снизить нагрузку на origin-сервер и сделать работу сайта стабильнее при росте аудитории.