В статье мы расскажем о CDN: что это такое и для чего нужна эта технология.
Когда пользователь открывает любой сайт или приложение, он рассчитывает, что быстро перейдет на нужную страницу, получит информацию или сделает заказ. И его ожидания оправданы — оптимальное время загрузки сайта — 2-3 секунды. Если сайт или приложение открывается дольше, это может вызвать дискомфорт у посетителя. Велика вероятность, что пользователь предпочтет закрыть вкладку и перейти на более быстрый ресурс.
Причина долгой загрузки может быть как на стороне пользователя, так и на стороне владельца ресурса.
Если вы пользователь
В некоторых случаях долгая загрузка может помешать визиту на сайт, так как возникает ошибка ERR_CONNECTION_TIMED_OUT. Она означает, что для подключения к сайту потребовалось слишком много времени. Иногда можно встретить следующие варианты этой ошибки: «Превышено время ожидания ответа от сайта», «Время ожидания ответа истекло».
Если вы перешли на сайт и столкнулись с этой ошибкой, обратитесь в техническую поддержку интернет-провайдера. Возможно, это сбой в работе вашего поставщика услуг. Если интернет работает стабильно, то проблема возникла со стороны сервера сайта.
Если вы владелец сайта и заметили, что ресурс долго загружается, стоит проверить сервер на скорость отклика. Как правило, страницы медленно загружаются по двум причинам:
- Нехватка ресурсов хостинга или виртуального сервера. Если для развития сайта требуется больше ресурсов, вы можете докупить недостающие мощности или заказать новую услугу у своего провайдера.
- Большое расстояние между сервером и пользователем. Например, это могут быть разные страны или разные материки. Удалённое расположение может привести к долгой доставке контента. Для решения этой проблемы используется CDN.
Что такое CDN
CDN (Content Delivery Network) — это географически распределенная сетевая инфраструктура. Она обеспечивает быструю доставку контента и загрузку страниц на устройстве пользователя.
Как работает CDN
Обычно пользователь взаимодействует с сайтом по следующему алгоритму:
- 1. Пользователь набирает адрес сайта в браузере. После этого браузер направляет запрос к серверу.
- 2. Сервер получает запрос и ищет запрошенные данные в своей базе. Если данные найдены, сервер возвращает ответ браузеру.
- 3. Браузер отображает искомую страницу.
При таком взаимодействии данные с сервера запрашиваются напрямую, без серверов-«посредников». Но если сервер находится на большом расстоянии от места, в котором клиент отправил запрос, страница может загружаться дольше обычного.
Если владелец сайта использует CDN, взаимодействие с контентом происходит по-другому. Помимо основного сервера с названием ориджин, на котором хранятся файлы сайта, в сети используется ещё один тип серверов — PoP (Point of Presence) или Edge. Это кэширующие серверы — они записывают и хранят данные с ориджина для быстрого доступа. Edge-серверы географически распределены и кэшируют только статический контент, а динамический хранится на основном (центральном) сервере.
Статический и динамический контент: в чём отличие
Статический контент — это контент, который хранится на сервере в неизменяемом виде. К нему относятся:
JS
CSS
аудиофайлы,
видеофайлы т.д.
Динамический контент — это контент, который генерируется при получении запроса от клиента (браузера), например, динамический баннер с рекламным предложением или страница, которая заполняется в зависимости от ваших поисковых запросов.
Предположим, пользователь открывает сайт из России. При этом в России есть точка присутствия, а ориджин находится в США. В этом случае запрос к сайту направляется к ближайшему российскому Edge-серверу. Когда российский сервер получает запрос, он ищет запрошенные данные. Если данные найдены, Edge-сервер отправляет ответ и отображает страницу.
Если Edge-сервер не нашёл информацию (например, в России впервые открывают эту страницу), он перенаправляет запрос серверу в США. Ориджин находит нужные данные и отвечает российскому серверу. Затем Edge-сервер в России кэширует информацию и передаёт ответ браузеру. После этого браузер отображает сайт для пользователя.
Что такое сеть доставки контента
Для чего нужен CDN
Чаще всего CDN используется как сервис ускорения загрузки сайта. Однако он имеет дополнительные свойства:
- Снижение нагрузки на ориджин. Нагрузка распределена равномерно между серверами в сети. Главный сервер используется только для настройки, обновления данных и их раздачи по сети.
- Отказоустойчивость. За счет кэширующих серверов в сети, статический контент будет доступен даже при выходе ориджина из строя.
- Низкая вероятность DDoS-атаки. Так как в сети CDN большое количество серверов в разных регионах, стоимость атаки увеличивается в несколько раз. Это уменьшает число потенциальных злоумышленников.
CDN будет полезен для следующих проектов:
- крупных сайтов с аудиторией по всему миру,
- высокоскоростных мобильных приложений,
- облачных игровых порталов,
- платформ для распространения программного обеспечения,
- стриминговых сервисов, например аудио или видео.
Сервисы CDN, которые помогут ускорить сайт для российских пользователей:
- Cloudflare,
- Ngenix,
- CDNVideo.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊