Как посетитель сайта получает данные в браузере
Без CDN это происходит так:
- Клиент посылает запрос к сайту через браузер
- Запрос доходит до сервера на хостинге, где размещен сайт
- Сервер отдает ответ и вместе с ним данные, которые доходят до клиента и загружаются в браузере
Это удобно, если у сайта небольшое число посетителей, которые живут в одном регионе с серверами хостинга. Но если на сайт ежедневно заходит множество людей, то нагрузка на веб‑сервер растет и скорость загрузки сайтов снижается.
В такой ситуации поможет CDN.
Что такое CDN
Это сеть доставки контента. CDN‑провайдеры располагают свои серверы в разных частях света. На этих серверах кешируется статическое содержимое сайтов.
С CDN путь запроса выглядит так:
- Запрос идет от клиента через браузер и доходит до ближайшего CDN‑сервера в сети
- CDN‑сервер проверяет, есть ли у него закешированные статические данные. Если да, он их отдает. Если нет, то идет за ними на сервер хостинга
- За динамическим данными (например, каталог товаров) тоже отправляется запрос на хостинг
- Когда всё получено, CDN‑сервер отдает ответ и данные, которые загружаются в браузере
CDN снижает время доставки контента до посетителей и ускоряет работу сайтов.
Что и как кешируется
Кешируются в основном статические файлы: которые не требуют дополнительной обработки веб‑сервером и выдаются одинаково любому пользователю. Например, видео и картинки. Такие файлы редко меняются, а значит — обновлять информацию о них нужно реже.
Если ваш сайт целиком состоит из статики, например, написан на HTML без PHP‑скриптов, то он будет полностью загружаться из кеша на CDN‑сервере и скорость загрузки будет максимальная.
Кеш с данными находится на CDN‑сервере. При обращении к сайту CDN‑сервер формирует кеш его статического содержимого — и при всех следующих обращениях сначала отдается именно он. Нагрузка на целевой веб‑сервер при этом снижается: меньше ресурсов расходуется на обработку множества одинаковых запросов и выдачу одного и того же контента.
5 причин, почему CDN — это круто
- Скорость работы ресурса увеличивается
- Сетевая нагрузка снижается
- Нагрузка на сервер клиента тоже падает
- Максимально возможная нагрузка на сайт увеличивается, потому что трафик распределяется по разным серверам
- DDoS‑атаки становятся менее эффективны — сеть CDN‑серверов обширна и для выведения из строя всех потребуется огромное количество ресурсов со стороны атакующих