Облачные вычисления и центры обработки данных

Cloudflare предоставляет управление различиями HTTP-ответов через Cache Rules для всех тарифов

Cloudflare добавила поддержку HTTP-заголовка Vary в Cache Rules для всех тарифов, предоставив варианты нормализации значений заголовков, их передачи без изменений или обхода кэширования. Обновление призвано предотвращать ошибочные ответы и уменьшать фрагментацию кэша, вызванную несущественными различиями в запросах.

2026-09-22
4 мин. чтения
1 просмотров
certi.news Editorial Team
Cloudflare предоставляет управление различиями HTTP-ответов через Cache Rules для всех тарифов

Cloudflare объявила о доступности поддержки заголовка ответа HTTP Vary в функции Cache Rules для всех своих тарифов, включая Free, Pro, Business и Enterprise. Это расширение предоставляет администраторам сайтов больше контроля над тем, как сеть обрабатывает запросы, которые могут приводить к нескольким представлениям одного и того же ресурса, например из-за различий в языке, формате изображений, типе содержимого или способе сжатия.

Исходный сервер с помощью Vary указывает заголовки запроса, способные влиять на ответ, однако этот заголовок не поясняет, приводят ли все текстовые различия между значениями этих заголовков к действительно разным ответам. Поэтому система кэширования может считать близкие значения независимыми версиями, разделяя содержимое на большое количество элементов с низкой повторной используемостью.

Три способа обработки различий

Cloudflare предоставляет для каждого заголовка, указанного источником в Vary, одно из трёх действий:

  • normalize: нормализация значений перед выбором сохраненной версии; это рекомендуемый вариант для заголовков согласования, таких как Accept, Accept-Language и Accept-Encoding, когда множество значений сводится к ограниченному числу ответов.
  • passthrough: использование исходного значения, включая регистр, пробелы, порядок и повторяющиеся значения, когда точное различие влияет на ответ.
  • bypass: отказ от сохранения ответа, если указанный в Vary заголовок является персональным или имеет большое количество вариантов, например Cookie или User-Agent.

При этом Vary: * всегда приводит к обходу кэширования, поскольку любая часть запроса, включая информацию за пределами HTTP-сообщения, например IP-адрес, может влиять на выбор источником ответа.

Что меняется на практике?

При использовании нормализации запросы, различающиеся по форме, но предпочитающие один и тот же результат, могут совместно использовать сохраненную версию. Cloudflare сводит значения Accept, Accept-Language и Accept-Encoding к единому формату: записывает значения строчными буквами и сортирует их по приоритету качества, а при равенстве — в алфавитном порядке. Администратор также может указать поддерживаемые типы медиаданных или языки, например text/html и application/json либо en, fr и de.

Однако такое поведение может устранить различия, необходимые источнику. Cloudflare отмечает, что значения q=0 или некоторые исключения для языков могут быть потеряны при сокращении, поэтому следует использовать passthrough, если источнику необходимо видеть эти исключения в том виде, в каком их отправил клиент. Передача исходных значений также может вернуть проблему фрагментации: значения вроде compact,full и compact, full могут создавать разные ключи кэширования, даже если источник считает их эквивалентными.

Ответственность источника и ограничения обновления

Источник должен последовательно возвращать Vary с каждым доступным для кэширования ответом, который может различаться в зависимости от заголовков запроса, включая резервные ответы и ошибки. Если в одном из ответов отсутствует соответствующий заголовок, Cloudflare может сохранить этот ответ без требуемого разделения.

Изменение настроек Vary не приводит к автоматическому удалению существующего содержимого: старые записи могут сохраняться до истечения срока действия или выполнения операции purge. Настройка Vary также не заменяет пользовательский ключ кэширования во всех случаях: Cloudflare рекомендует использовать пользовательский ключ, когда свойство запроса является постоянной частью идентичности ресурса, и использовать Vary, когда источник в ответе объявляет поля, которые действительно на него влияют.

Почему эта новость важна?

Обновление решает практическую дилемму в CDN-сетях: игнорирование Vary может привести к отправке клиенту неправильного формата или языка, тогда как буквальная обработка каждого значения может снизить коэффициент попаданий в кэш и увеличить число запросов к источнику. Согласно материалу, анализ более 120 миллионов ответов примерно с 50 тысяч популярных сайтов показал, что около 3 тысяч сайтов используют различия по четырём или более полям, а некоторые — по 10, 23 или 47 полям.

Преимущество по-прежнему зависит от качества определения источником предоставляемых представлений и выбора подходящего действия для каждого заголовка. Настройки доступны через панель Cloudflare, Rulesets API или Terraform; после развертывания необходимо протестировать различные значения и отслеживать CF-Cache-Status.

Источник новости
c
Автор

certi.news Editorial Team

В той же категории

Вам также может понравиться

Все новости