Сеть доставки контента — это распределенная система серверов, расположенных во многих географических точках, которая предоставляет контент посетителям из непосредственной близости от них, а не с одного исходного сервера. Уменьшение физического расстояния, которое должен преодолеть запрос, снижает задержку, а обработка запросов на периферии уменьшает нагрузку на исходную инфраструктуру.
Основной механизм заключается в снижении задержки, и его влияние гораздо значительнее, чем кажется, поскольку эффект суммируется на протяжении множества циклов обмена данными, необходимых для загрузки страницы. Установление соединения, согласование TLS и каждый последующий запрос — всё это влияет на время обмена данными, поэтому загрузка из местоположения, расположенного на расстоянии пятидесяти миллисекунд, а не трёхсот миллисекунд, улучшает не один показатель, а каждую последовательную зависимость в процессе загрузки. Для сайта с международной аудиторией, обслуживаемого из одного региона, это часто является наибольшим доступным улучшением производительности.
Современные сети доставки контента делают гораздо больше, чем просто кэшируют статические ресурсы. Они завершают TLS-соединение на периферии сети, применяют сжатие, преобразуют и изменяют размер изображений на лету, предоставляют современные форматы браузерам, которые их поддерживают, кэшируют полные HTML-ответы для страниц, которые это позволяют, и все чаще выполняют логику приложений на периферии сети. Они также обеспечивают функции безопасности, включая защиту от атак типа «отказ в обслуживании», межсетевые экраны веб-приложений и управление ботами, что для многих организаций является такой же причиной для внедрения, как и повышение производительности.
Конфигурация кэша — это то, где сосредоточена большая часть практической ценности и одновременно большая часть риска. Заголовки управления кэшем определяют, что хранится, как долго и при каких условиях происходит повторная проверка. Неправильная настройка приводит либо к низким показателям попадания в кэш, что сводит на нет все преимущества, либо к предоставлению пользователям устаревшего контента, что может иметь серьезные коммерческие последствия, особенно когда речь идет о ценах, уровне запасов или персонализированном контенте. Не менее важен и дизайн ключей кэша: ключи, содержащие ненужные вариации, такие как параметры отслеживания, фрагментные кэши для каждого пользователя или ненужная сегментация устройств, разделяют кэш и снижают показатели попадания, не принося никакой пользы.
Персонализированный и динамический контент требует целенаправленной обработки, а не исключения. Предоставление кэшированной оболочки страницы с персонализированными фрагментами, загружаемыми отдельно, или использование логики обработки данных для формирования ответов позволяет применять кэширование к большей части контента, сохраняя при этом корректность пользовательских частей. Сайты, которые помечают весь контент как не подлежащий кэшированию, поскольку часть контента носит персональный характер, обычно теряют большую часть доступных преимуществ.
Защита источника трафика — это преимущество, которое часто обнаруживается только во время инцидента. Всплеск трафика от рекламной кампании, упоминания в СМИ или волны ботов, которые могли бы перегрузить инфраструктуру источника, в значительной степени поглощается на периферии сети, если кэширование настроено правильно, и проходит без проблем, если оно настроено неправильно. Целенаправленное тестирование этого, путем измерения того, какая доля реалистичного сценария трафика достигнет источника, более полезно, чем предположение о том, что сеть обеспечивает защиту своим присутствием. Для компаний, у которых пиковые периоды торговли предсказуемы, проверка поведения кэша до пика, а не во время него, — это разница между напряженным днем и сбоем.
Стратегия очистки определяет операционную надежность. Развертывание, в котором изменяются шаблоны или ресурсы, должно обеспечивать надежную и быструю аннулирование затронутого кэшированного контента, и стандартные подходы, такие как версионированные имена файлов ресурсов в сочетании с очисткой на основе тегов или суррогатных ключей для HTML, стоит внедрить до того, как инцидент сделает их срочными. На практике эта конфигурация находится в рамках веб-производительность работать в тесном сотрудничестве с разработка продуктаПоскольку решения о кэшировании ограничивают поведение приложения и не могут быть разумно приняты какой-либо из сторон по отдельности.