Содержание

Что такое CDN?

Представим себе ситуацию: 2 пользователя с одинаковыми устройствами и скоростью сети пытаются открыть один и тот же сайт, сервер которого находится в Европе. При этом пользователь №1 сам находится в Европе, а пользователь №2 — в Азии. Запрос последнего будет обрабатываться дольше в силу географической удаленности, а это, в свою очередь, не может не сказаться на скорости загрузки.

Не стоит забывать, что данный фактор также является одним из ключевых для ранжирования в результатах поиска Google, поскольку напрямую влияет на показатель отказов. К примеру, если время загрузки страницы увеличивается с 1 до 3 секунд, показатель отказов возрастает на 32%, c 1 до 6 — на 106%. Описанную проблему невозможно решить лишь оптимизацией сайта и сервера, в подобном случае необходимо использование CDN.

CDN (сеть доставки контента, англ. Content Delivery Network) — географически распределённая сетевая структура для оптимизации доставки контента конечному пользователю. При использовании CDN в привычную схему обработки запроса “пользователь-сервер-пользователь” добавляется промежуточная стадия. 

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

Вернемся к примеру с европейским сервером и двумя пользователями, находящимися на разном удалении от него. При использовании CDN время отклика для пользователя из Азии снизится, т.к. запрос будет обработан не конечным европейским, а ближайшим азиатским сервером, входящим в CDN-сеть. Именно поэтому CDN жизненно необходима “тяжеловесам”: интернет-магазинам с крупным товарным каталогом, фото- и видеохостингам, стриминговым платформам, игровым сервисам, соцсетям и просто сайтам с большим количеством посетителей со всего мира. 

При использовании CDN пользователи получают кэшированные данные с ближайшего CDN-сервера (point of presence, точка присутствия или PoP), а не с оригинального, который может располагаться значительно дальше. Кэш на CDN-сервере формируется следующим образом:

  1. На главный сервер отправляется первый, самый затратный по времени отклика пользовательский запрос.
  2. Кэш, сформированный в соответствии с запросом, передается на точку присутствия (ближайший к пользователю CDN-сервер).
  3. В ответ на все последующие запросы подобного типа пользователям отправляются кэшированные данные с точки присутствия.
  4. CDN-серверы в рамках одной сети посылают запросы друг другу (для минимизации количества запросов к главному серверу и сокращения времени загрузки у пользователей).

Соответственно, чем обширнее CDN-сеть, тем большее количество запросов из большего числа географических регионов она способна обработать. А это значит, что время на загрузку европейского сайта для пользователей из Европы и Азии будет примерно одинаковым, если в последнем регионе располагается точка присутствия. 

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

Статический и динамический контент

После того как мы описали основные принципы работы CDN-сети, стоит упомянуть о том, как именно обрабатывается содержимое разного типа: статического и динамического.

К статическому содержимому относится неизменяемый кэшируемый контент:  графические, аудио- и видеофайлы, элементы JS, CSS и т.п. Он является самым объемным, а потому загружается медленнее всего. Скорость его обработки напрямую зависит от скорости сети. 

Динамическое содержимое генерируется в момент получения запроса к серверу и может загружаться из БД, либо изменяться пользователем (избранное, история просмотра, геолокация и т.п.). Обрабатывается аппаратно — с помощью оперативной памяти.

Если в рамках одного сервера конечному пользователю загружается динамическое и статическое содержимое одновременно, это увеличивает нагрузку и время обработки запроса. Здесь на помощь также приходит CDN: динамический контент, будучи гораздо менее ресурсоемким, загружается с основного сервера, а статический доставляется пользователю посредством CDN-сети, что существенно сокращает время загрузки.

Какие преимущества дает использование CDN?

Рассмотрим их на примере популярного CDN-провайдера Cloudflare:

  • Улучшает пользовательский опыт. Быстрая загрузка означает меньший процент отказа со стороны пользователей и большее время, проводимое на сайте. 
  • Привлекает большее количество посетителей. Напрямую связано с предыдущим пунктом, т.к. Google учитывает пользовательский опыт наравне с быстродействием в ранжировании результатов поисковой выдачи. Чем выше позиция, тем больше просмотров получает сайт.  
  • Позитивно влияет на показатели Core Web Vitals. Использование CDN напрямую связано с метрикой TTFB (Time To First Byte), которая, в свою очередь, влияет на время ожидания до первого взаимодействия с контентом (FID). Мы уже рассказывали о роли этих и других показателей в нашей статье о критическом пути рендеринга.
  • Снимает нагрузку на Web-сервер сайта. Большинство ответов на запросы, не доходя до него, отдаются из кэша.
  • Повышает надежность и безопасность. Обеспечивает доступ к VPN, фаерволу, защите от DDoS-атак, ботов и утечек данных.
  • Предоставляет подробную статистику и отчеты. Информация по использованной пропускной способности, просмотрам страниц, отраженным угрозам и т.п.

Как получить бесплатный доступ к Cloudflare Enterprise

Для достижения максимальной скорости работы Clickio использует корпоративный уровень Cloudflare, что обеспечивает доступ к выделенным диапазонам IP-адресов с приоритетными маршрутизацией и защитой. Сервис Cloudflare также предоставляет 100%-ую гарантию безотказной работы, расширенную защиту от ботов и круглосуточную техподдержку. 

Обычно данные возможности доступны только крупным компаниям и специализированным техническим фирмам, однако пользователи Clickio Prism автоматически получают бесплатный доступ к Cloudflare Enterprise через учетную запись Clickio.

Свяжитесь с нами, чтобы узнать больше.