Pugofka / Tools / Проверки
Проверка Cache-Control и ETag
Разберите директивы кэширования HTTP и найдите конфликты в заголовках.
Когда пригодится проверка cache-control и etag
Кэширование зависит от директив Cache-Control, валидаторов ETag и Last-Modified, заголовка Vary, статуса ответа и политики промежуточного CDN. Вставьте заголовки, чтобы быстро увидеть основные настройки. max-age указывается в секундах; public допускает общий кэш, private ориентирован на персональный ответ, no-store запрещает хранить ответ. Инструмент отмечает явный конфликт public и private и подозрительное сочетание no-store с max-age, но не пытается моделировать каждый браузер или прокси.
Для страницы с персональными данными проверьте, что общий кэш не может выдать ответ другому пользователю. Для статического файла с хешем в имени, наоборот, длительное кэширование часто полезно. При публикации нового CSS или JS важно менять URL либо корректно переобновлять кэш. Vary показывает, по каким заголовкам ответ различается; ошибочный Vary может увеличить число вариантов в CDN или смешать представления. Анализируйте политику в контексте конкретного ресурса, а не всех страниц одинаково.
Как пользоваться: проверка cache-control и etag
Вставьте ответ с Cache-Control. Инструмент объяснит max-age, no-store, private и наличие валидаторов.
Начните с кнопки «Вставить пример», чтобы увидеть ожидаемый формат ввода. Затем замените демонстрационные значения своими данными в полях «Исходные данные». Нажмите «Получить результат». Если формат неверный, инструмент покажет ошибку на русском языке; исправьте исходные данные и повторите действие.
Готовый результат можно скопировать одной кнопкой или скачать в файл cache-headers-report.txt. Проверьте итог перед публикацией на рабочем сайте: инструмент видит только переданные ему данные и не знает особенностей вашего проекта. Для больших выгрузок удобно сначала обработать небольшой фрагмент и убедиться, что структура результата подходит дальнейшему процессу.
Пример входных данных и результата
public, max-age=3600 означает возможность кэширования с указанной свежестью.
HTTP/2 200 cache-control: public, max-age=3600 etag: "v1" vary: Accept-Encoding
Пример показывает форму исходных данных. Результат создаётся только после запуска виджета, поэтому вы можете изменить пример и сразу увидеть, как это влияет на вывод. Если вы работаете с клиентским сайтом, используйте обезличенный образец для первой проверки, затем переходите к полному файлу.
Какие ошибки проверить вручную
Итоговая политика зависит также от CDN, браузера и статуса ответа. Проверка работает только по вставленным заголовкам.
Технически корректный результат ещё не означает, что он подходит бизнес-логике сайта. Например, URL может быть синтаксически верным, но вести на удалённую страницу; XML может быть хорошо сформированным, но не соответствовать настройкам конкретной площадки. После автоматической проверки откройте итог в целевой системе или браузере и сравните его с ожидаемым поведением.
Если инструмент сообщает об ошибке, начните с названного поля или строки. При обработке файлов проверьте кодировку, переносы строк, кавычки и спецсимволы. Они часто попадают в данные при экспорте из Excel, CMS или интеграции и могут менять смысл результата.
Практические ограничения и следующий шаг
ETag и Last-Modified позволяют условный запрос и ответ 304, если ресурс не изменился. Их наличие не гарантирует, что цепочка CDN передаёт условные заголовки правильно. Проверьте поведение повторным запросом, затем сравните TTFB и размер передачи. Если проблема касается только одной группы пользователей, учитывайте авторизацию, cookie и географию. Локальный анализатор не делает сетевых запросов: он объясняет вставленный снимок ответа, а после изменения конфигурации нужен новый снимок с боевого адреса.
Для повторяющихся задач сохраните входной пример и ожидаемый результат как проверочный сценарий. После обновления сайта или формата данных прогоните его снова: небольшое изменение шаблона экспорта иногда меняет поведение без явной ошибки. Если результат используется в производственной системе, проверьте не только синтаксис, но и последствия на нескольких реальных записях. При публикации конфигурации или метатегов сравните исходный HTML и ответ сервера с тем, что вы видите в форме.
Как применить результат: проверка cache-control и etag
Кэшированию статических файлов и HTML обычно нужны разные правила. Файл app.abcd1234.js с версией в имени можно хранить долго: новый релиз получит новый URL. HTML-страница интернет-магазина может содержать меняющиеся цены и остатки, поэтому для неё нужна более осторожная политика. Если CDN кэширует персональный ответ, это уже риск утечки между пользователями. Проверяйте заголовки как для гостя, так и для авторизованного пользователя, но не вставляйте в публичные тикеты cookie и токены.
При анализе ETag помните, что один и тот же ресурс может иметь разные версии сжатия. Заголовок Vary: Accept-Encoding помогает разделять их, но чрезмерный набор Vary раздувает кэш. После правки политики выполните первый и повторный запрос, сравните статус, заголовки Age и фактическую загрузку. Если изменения не видны, найдите слой, который отвечает из кэша: браузер, service worker, CDN или origin. Инструмент объясняет заголовки снимка, но не заменяет такой последовательный эксперимент.
Проверка перед публикацией
Сохраните исходный пример и результат рядом с задачей, чтобы при следующем обновлении можно было повторить проверку. Откройте итоговый файл в целевой системе и сравните не только отсутствие ошибки, но и число обработанных записей, конечные адреса, отображение кириллицы и поведение на мобильном экране, если результат используется в интерфейсе. Для конфигурации сервера сначала примените изменения на тестовом окружении и выполните запрос к реальному URL. Для данных каталога выберите несколько контрольных SKU с разными ценами и остатками. Если расхождение найдено, исправляйте источник данных или шаблон генерации, а не только один скачанный файл. Так следующая автоматическая выгрузка не вернёт проблему.
Приватность и обработка в браузере
Поля этого инструмента обрабатываются в вашем браузере. Содержимое не отправляется на сервер Pugofka, а локальный файл читается только после вашего выбора. Для XML определяется кодировка из объявления или BOM; при отсутствии подсказки сначала пробуется UTF-8, затем Windows-1251. Виджет скрыт от записи содержимого в Вебвизоре; в Яндекс Метрику передаются slug инструмента и тип действия — открытие, первое взаимодействие, запуск, получение результата, копирование или скачивание.
При копировании данные попадают в системный буфер обмена устройства, где их могут видеть другие приложения с соответствующим доступом. Если исходник содержит секреты или персональные данные, очистите поле после работы. Скачанный файл остаётся на устройстве, в выбранной браузером папке загрузок.
Что делать после проверки
Используйте результат как рабочий черновик: вставьте его в конфигурацию, страницу или документ и повторно проверьте там, где он будет применяться. Если вы меняете индексируемые страницы, обновите связанные ссылки и карту сайта. Для миграции URL дополнительно запустите сетевую проверку редиректов, чтобы увидеть фактические HTTP-ответы после публикации.
Если задача связана с каталогом, импортом или поддержкой интернет-магазина, команда Pugofka может помочь встроить такую проверку в регулярный обмен данными и исправить источник ошибок. Одноразовая онлайн-утилита полезна для диагностики, а постоянный поток данных обычно требует автоматической проверки на стороне проекта.
Частые вопросы
- Как начать работу с «Проверка Cache-Control и ETag»?
- Нажмите «Вставить пример», посмотрите формат полей, затем замените пример собственными данными и нажмите «Получить результат». Для файла используйте загрузку рядом с текстовым полем. Если увидите сообщение об ошибке, исправьте указанное поле и запустите инструмент снова.
- Можно ли скачать результат?
- Да. После успешной обработки появится кнопка скачивания файла cache-headers-report.txt. Кнопка создаёт файл в браузере, поэтому данные не отправляются на сервер. Если нужно вставить итог в редактор или CMS, воспользуйтесь кнопкой копирования.
- Отправляются ли введённые данные на сервер?
- Нет. Обработка этого инструмента выполняется на устройстве посетителя. Даже при загрузке локального файла его содержимое читается браузером для обработки на странице. В аналитические события не включаются введённые значения, адреса и содержимое результата.
- Что означает сообщение об ошибке?
- Обычно исходные данные не соответствуют ожидаемому формату. Проверьте поля «Исходные данные», кавычки, разделители и адреса. Вернитесь к встроенному примеру, чтобы сравнить структуру своего ввода с рабочим образцом.
- Есть ли ограничение на размер файла?
- Виджет принимает локальный текстовый файл размером до 5 МБ. Большой файл лучше разбить на части: это уменьшает нагрузку на браузер и упрощает поиск конкретной ошибочной строки. Если файл бинарный, его следует открыть в подходящем приложении, а не вставлять как текст.
- Можно ли использовать результат сразу на рабочем сайте?
- Сначала проверьте его на тестовой странице или небольшом фрагменте данных. Итоговая политика зависит также от CDN, браузера и статуса ответа. Проверка работает только по вставленным заголовкам. Итог может быть синтаксически верным, но не учитывать особенности вашего сервера, CMS или обмена данными.
- Будет ли результат доступен после перезагрузки страницы?
- Нет. Введённые данные и результат хранятся в состоянии открытой страницы. Скопируйте или скачайте итог до обновления вкладки. Такой подход также снижает риск случайного хранения чувствительных данных на общем устройстве.
- Чем эта проверка отличается от проверки опубликованного сайта?
- Локальный инструмент работает с тем, что вы вставили или загрузили. Он не делает запросы к внешнему сайту и не подтверждает, что опубликованная страница или файл совпадают с вашим образцом. После применения изменений отдельно проверьте фактический ответ сервера.
Нужна помощь с сайтом?
Поможем разобраться с технической задачей и оценить её решение.