Как работают кэш и CDN простыми словами
Кэш и CDN — два слова, которые часто путают, хотя за ними простая идея: держать нужное под рукой и поближе к клиенту. Объясняю, как это работает и почему без этого сайт грузится медленнее, чем мог бы.
Когда заказчики слышат «кэш» и «CDN», у многих в голове одна каша: что-то техническое, вроде бы полезное, но непонятно зачем платить отдельно. На деле обе идеи очень бытовые, и я обычно объясняю их без технических терминов. Разложу по порядку — сначала кэш, потом CDN, потом как они работают вместе.
Коротко: кэш — это хранить готовый результат под рукой, чтобы не собирать его заново каждый раз; CDN — копии сайта на серверах ближе к пользователю, чтобы данные не летели через полмира. Вместе они ускоряют загрузку сайта, снижают нагрузку на сервер и экономят деньги на хостинге. Нужно это почти любому сайту с посетителями — от лендинга до интернет-магазина.
Что такое кэш
Представьте, что вы каждый день готовите один и тот же салат для гостей. Можно каждый раз идти в магазин за огурцом и резать заново — а можно один раз нарезать побольше и держать готовое в холодильнике под рукой. В следующий раз вы просто достаёте готовое, вместо того чтобы повторять всю работу с нуля. Это и есть суть кэша: держать под рукой уже готовый результат, чтобы не считать его заново.
В мире сайтов происходит то же самое. Когда посетитель открывает страницу, сервер обычно должен сходить в базу данных, собрать нужные записи, оформить их в HTML-страницу и только потом отдать браузеру. Если делать это заново для каждого посетителя, сервер быстро устаёт — особенно если страницу за минуту открывают сотни людей. Кэш решает это просто: один раз собрал страницу — сохранил результат — и следующим посетителям отдаёт уже готовое, без повторного похода в базу данных.
Кэш бывает на разных уровнях. Есть кэш браузера — когда ваш компьютер запоминает картинки и стили сайта, чтобы при повторном визите не скачивать их заново. Есть кэш сервера — когда сайт хранит готовые страницы или результаты сложных запросов у себя, чтобы не пересчитывать их каждый раз. И есть кэш на уровне CDN, о котором расскажу дальше, — он хранит копии контента ближе к пользователю. Все три вида работают по одному принципу: не делать одну и ту же работу дважды.
Есть и побочный эффект: иногда кэш играет против вас. Если вы обновили текст на сайте, а браузер или сервер показывает старую версию, кажется, что изменения «не применились». На деле применились — просто где-то в цепочке лежит старая копия. Об этом подробнее — в разделе про нюансы.
Что такое CDN
CDN расшифровывается как Content Delivery Network — «сеть доставки контента». Лучшая аналогия — сеть складов интернет-магазина. Представьте компанию с единственным складом в Москве, а заказы идут со всей страны и из-за рубежа: покупателю из Владивостока товар едет долго просто из-за расстояния. Логичное решение — открыть склады поближе к покупателям: во Владивостоке, в Новосибирске, за границей. Тогда товар едет с ближайшего склада, а не через всю страну.
CDN делает ровно это, только с сайтом вместо товаров. У вас есть один основной сервер. Без CDN каждый посетитель сайта тянет данные именно с него. Если он из другого города или страны, запрос летит через полмира и обратно — это ощущается как «сайт тормозит». CDN расставляет копии вашего сайта (его статичных частей — картинок, стилей, скриптов, а иногда целых страниц) на серверах по разным точкам мира. Когда человек открывает сайт, его запрос уходит не на основной сервер, а на ближайший сервер CDN — и получает контент оттуда за доли секунды.
Важно понимать: CDN не заменяет ваш хостинг и не переносит сайт целиком. Основной сервер по-прежнему хранит всю логику, базу данных, обработку форм — это «главный офис». CDN — распределённая сеть «складов» с копиями контента, которая разгружает главный офис и ускоряет доставку до клиента. Крупные CDN-сети — вроде Cloudflare — имеют сотни точек присутствия по миру, поэтому почти для любого посетителя находится сервер в паре сотен, а не тысяч километров.
Как это ускоряет сайт
Если сложить кэш и CDN вместе, получается двойная экономия. Кэш убирает лишнюю работу — серверу не нужно заново собирать страницу или выполнять тяжёлый запрос к базе данных. CDN убирает лишний путь — данным не нужно лететь через полмира, если рядом с посетителем есть склад с готовой копией. Одно решает проблему «долго считать», второе — «долго везти».
На практике это ощущается конкретно. Страница, которая без кэша и CDN грузилась бы полторы-две секунды, с ними может открываться за доли секунды. Для посетителя это не абстрактная метрика, а разница между «открылся мгновенно» и «полистаю пока, подожду» — а значит, останется он на сайте или закроет вкладку, особенно на мобильном интернете, где каждая секунда чувствуется острее.
Есть и вторая, менее заметная выгода — снижение нагрузки на сервер. Если тысяча человек одновременно заходят на сайт, а кэш и CDN отдают им готовый контент вместо того, чтобы сервер пересчитывал всё заново, — сервер справляется легче и не «падает» в моменты пиковой посещаемости, например во время рекламной акции. Это экономия на более мощном хостинге, который иначе пришлось бы держать про запас. Плюс CDN — устойчивость к перебоям: если основной сервер на секунду «моргнул», трафик продолжают обслуживать серверы CDN, и посетители этого не замечают.
Кому нужно
Кэш нужен практически любому сайту — вопрос скорее «насколько тонко настроено», а не «нужен ли вообще». Даже простому лендингу выгодно кэшировать статичные файлы, чтобы повторные посетители не скачивали одно и то же заново.
CDN особенно оправдан в нескольких случаях: аудитория географически широкая — не только соседний город, а вся страна; на сайте много изображений, видео или другого «тяжёлого» контента; ожидаются всплески трафика — реклама, распродажи, соцсети; важна отказоустойчивость, когда простой в несколько минут бьёт по выручке.
Для небольшого локального сайта эффект от CDN будет менее заметен, но грамотный кэш пригодится в любом случае — это почти всегда бесплатное ускорение без побочных рисков. Когда я делаю разработку сайта под ключ, кэш и, при необходимости, CDN закладываю сразу — дешевле настроить один раз на старте, чем «допиливать» скорость постфактум.
Нюансы и подводные камни
Главный подводный камень кэша — устаревание данных. Если сайт показывает цену товара из закэшированной версии, а цена уже изменилась, посетитель увидит неактуальную информацию, пока кэш не обновится. Поэтому для «живых» данных — остатки на складе, цены, статусы заказов — кэш либо не используют, либо ставят на короткое время жизни.
Отсюда частая жалоба заказчиков: «я обновил текст на сайте, а на странице всё старое». Обычно дело в кэше — где-то в цепочке (браузер, сервер или CDN) лежит старая копия, и её нужно либо подождать, пока устареет сама, либо сбросить вручную — это называется «очистить кэш». Это нормальная ситуация, а не поломка сайта.
Со стороны CDN тоже есть особенности: нужно правильно настроить, какие файлы кэшировать, а какие всегда брать «живыми» с основного сервера, и как быстро сбрасывать копию при обновлении сайта. Настроено криво — эффект может быть обратным, и посетители увидят устаревший контент. Поэтому подключение CDN стоит доверить тому, кто понимает, что и зачем кэшируется.
И ещё момент: кэш и CDN ускоряют доставку готового контента, но не заменяют оптимизацию самого сайта. Если сайт написан тяжело, а код перегружен — они сгладят часть проблемы, но не решат её полностью. Это дополняющие меры, а не замена нормальной разработки сайта.
Частые вопросы
Чем кэш отличается от CDN? Кэш — это про то, чтобы не пересчитывать одно и то же заново: готовый результат хранится под рукой — в браузере, на сервере или ещё где-то. CDN — это про расстояние: копии сайта размещаются на серверах ближе к пользователям по всему миру. Часто CDN использует кэш внутри себя, поэтому термины и путают.
Зачем сайту CDN? Чтобы посетители из разных городов и стран получали контент с ближайшего сервера, а не с единственного сервера-источника, до которого может быть далеко. Это ускоряет загрузку, снижает нагрузку на основной сервер и повышает устойчивость сайта к перебоям.
Нужен ли CDN небольшому сайту? Не всегда обязателен, но чаще всего не помешает: базовые CDN-сервисы (например, Cloudflare) бесплатны на начальном уровне и настраиваются один раз. Для сайта с локальной аудиторией эффект будет скромнее, чем для сайта с посетителями по всей стране, но грамотный кэш пригодится в любом случае.
Почему изменения на сайте не сразу видны (кэш)? Скорее всего, где-то в цепочке — в браузере, на сервере сайта или на стороне CDN — сохранилась старая версия страницы. Нужно либо подождать, пока кэш устареет сам, либо сбросить его вручную (инвалидировать). Это нормальная особенность работы кэша, а не сбой.
Сколько стоит CDN? Базовые CDN-сервисы часто бесплатны или недороги на старте, а стоимость растёт с объёмом трафика и дополнительными функциями. Для типичного сайта расходы обычно ниже, чем экономия на более мощном хостинге.
Коротко о главном
Кэш и CDN решают одну задачу с разных сторон: убрать лишнюю работу и лишний путь между сайтом и посетителем. Кэш держит готовый результат под рукой, чтобы не пересчитывать его заново. CDN держит копии сайта ближе к пользователю, чтобы данным не приходилось лететь через полмира. Вместе они дают то, что чувствует любой посетитель, даже не зная этих терминов, — сайт, который открывается мгновенно, а не «подвисает».
Для бизнеса это не абстрактная деталь, а ощутимые вещи: меньше отказов из-за медленной загрузки, устойчивость к всплескам трафика и экономия на хостинге. Если вы делаете разработку сайта с нуля, разворачиваете свой сервер под проект или чувствуете, что текущий сайт открывается медленнее, чем хотелось бы, — напишите, разберёмся, где теряется скорость, и настроим кэш и CDN под вашу задачу.
Что я делаю под ключ
- Ускорение и оптимизация сайтов
- Сайты и лендинги под ключ
- Свой сервер, DevOps, хостинг
- Автоматизация бизнеса
- Поддержка и мониторинг
Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»
12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.
Готовы обсудить вашу задачу?
Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.


