Анализатор заголовков кэширования

Анализируйте HTTP-заголовки кэширования для любого URL. Проверяйте Cache-Control, Expires, ETag, Last-Modified, Vary, Age и распространённые сигналы кэша CDN, чтобы понять поведение браузера и общего кэша. Включает трассировку редиректов, просмотр исходных заголовков, фильтрацию, выявление проблем и экспорт в JSON/PDF.

Loading…

О сервисе Анализатор заголовков кэша

Вставьте URL и мгновенно поймите, как он кэшируется: директивы для браузера, общее кэширование CDN/прокси (s-maxage, surrogate controls), валидаторы (ETag/Last-Modified) и паттерны ревалидации (stale-while-revalidate, stale-if-error). Используйте для отладки производительности, предотвращения случайного кэширования HTML и проверки политик кэширования статических ресурсов.

Возможности

  • Аудит кэширования по URL с понятной карточкой оценки и выявленными проблемами (фокус на заголовках кэширования и производительности).
  • Следование редиректам (до 10), чтобы увидеть, где реально применяются правила кэширования.
  • Просмотр исходных заголовков для полной прозрачности (что фактически вернул сервер/CDN).
  • Анализ кэширования с акцентами: директивы Cache-Control, Expires/Pragma и их конфликты.
  • Проверка валидаторов: обнаружение ETag и Last-Modified (для условных запросов и ревалидации).
  • Анализ Vary для выявления отсутствующего или рискованного поведения (особенно для персонализированного контента).
  • Обнаружение сигналов CDN: Age, Via, CF-Cache-Status, X-Cache, заголовки в стиле Fastly/Akamai/CloudFront.
  • Фильтры и режим «только проблемы» для быстрой фокусировки на решаемых вопросах.
  • Экспорт результатов в виде JSON и PDF-отчётов (отлично подходит для аудитов и отчётов клиентам).
  • Первоначальный зонд HEAD (с откатом на GET) для минимизации трафика при сохранении совместимости.

🧭 Как использовать for cache-headers-analyzer

1

Введите URL

Вставьте полный URL для аудита (например, [https://example.com/static/app.css](https://example.com/static/app.css)).

2

Выберите поведение запроса

Оставьте включённым «Сначала попробовать HEAD (откат на GET)» для быстрых проверок. Включите «Следовать редиректам», если URL может перенаправлять (HTTP→HTTPS, www, CDN и т.д.).

3

Выберите фокус анализатора

Используйте «Авто (рекомендуется)» для сбалансированного обзора. Переключитесь на «Кэширование в браузере», «Кэширование CDN / прокси» или «Кэширование API», чтобы расставить приоритеты по наиболее релевантным для вашей конечной точки проблемам.

4

Просмотрите выявленные проблемы и категории заголовков

Сначала изучите оценку/выявленные проблемы, затем углубитесь в директивы кэширования, валидаторы (ETag/Last-Modified), анализ Vary и сигналы CDN (Age, заголовки статуса кэша). Включите «Показать исходные заголовки», если нужен полный ответ.

5

Экспортируйте отчёт

Скачайте JSON-отчёт для автоматизации или PDF-отчёт для аудитов и обмена с коллегами/клиентами.

Технические характеристики

Модель запроса

Этот инструмент выполняет проверку заголовков URL с опциональным следованием редиректам. Сначала он пытается выполнить запрос HEAD (если включено) и при необходимости откатывается на GET.

НастройкаПоведениеПо умолчанию
Сначала HEAD (резервный GET)Использует HEAD для быстрого получения заголовков; переходит к GET, если HEAD не поддерживается или недостаточенВключено
Следовать редиректамСледует по цепочке редиректов для анализа итогового поведения кэшированияВключено
Макс. редиректовОграничение редиректов для предотвращения бесконечных циклов10 (диапазон 0–20)
ТаймаутЛимит таймаута запроса15000 мс
User-AgentИдентифицирует пользовательский агент запросаEncode64Bot/1.0 (+[https://encode64.com](https://encode64.com))
Частные сетиБлокирует доступ к диапазонам частных сетей для безопасностиОтключено (частные сети не разрешены)

Анализируемые заголовки и сигналы

Анализатор фокусируется на семантике кэширования (браузер и общие кэши) и типичных сигналах CDN на границе сети.

КатегорияПримеры
Директивы кэшированияCache-Control, Expires, Pragma, Surrogate-Control, CDN-Cache-Control
ВалидаторыETag, Last-Modified (используются для условных запросов / ревалидации)
Поведение общего кэшаs-maxage, stale-while-revalidate, stale-if-error (при наличии в Cache-Control)
Поведение VaryVary (вариации ключа кэша и безопасность персонализации)
Сигналы CDN/проксиAge, Via, CF-Cache-Status, X-Cache, X-Cache-Hits, Server-Timing и другие граничные подсказки
Некоторые заголовки CDN специфичны для поставщика; их наличие и значение могут различаться в зависимости от провайдера и конфигурации.

Эвристики (что вызывает предупреждения)

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

ЭвристикаЧто проверяется
Отсутствует Cache-ControlПредупреждает об отсутствии заголовка Cache-Control
Конфликтующие директивыПредупреждает о несовместимых директивах (например, смешанные намерения кэширования)
Отсутствуют валидаторыПредупреждает, когда кэшируемые ответы не содержат ETag/Last-Modified
Слабые валидаторыОтмечает шаблоны слабых валидаторов, где это уместно
Риск VaryПредупреждает, когда заголовок Vary отсутствует, но, вероятно, необходим для учёта вариаций
Несоответствие Pragma no-cacheПредупреждает, когда присутствует Pragma: no-cache без соответствующего Cache-Control

Классификация (статическое vs HTML vs API)

Анализатор может определить тип контента по пути URL, чтобы адаптировать рекомендации по кэшированию.

КлассШаблоны путей (примеры)
Статический ресурс.css, .js, .png, .svg, .woff2 и т.д.
HTML.html, .htm
APIПути, начинающиеся с /api/ или заканчивающиеся на .json
Если ваш URL не соответствует этим шаблонам, используйте «Фокус анализатора», чтобы скорректировать рекомендации.

Командная строка

Используйте эти CLI-команды для проверки заголовков кэширования локально. Они не заменяют результаты/оценку этого инструмента, но помогают быстро воспроизвести результаты.

macOS / Linux

Получить заголовки с помощью HEAD-запроса

curl -I [https://example.com/static/app.css](https://example.com/static/app.css)

Проверяет Cache-Control, Expires, ETag, Last-Modified, Vary и сигналы CDN без загрузки тела ответа.

Следовать редиректам и показать заголовки

curl -IL [https://example.com/](https://example.com/)

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

Run

Windows (PowerShell)

Получить заголовки ответа

(Invoke-WebRequest -Uri [https://example.com/static/app.css](https://example.com/static/app.css) -Method Head).Headers

Выводит заголовки, включая Cache-Control, ETag, Last-Modified и заголовки CDN-провайдеров, если они присутствуют.

Для статических ресурсов с хэшированными именами файлов (app.abc123.css) предпочтительно долгосрочное кэширование с флагом immutable. Для HTML будьте консервативны, чтобы избежать отдачи устаревших персонализированных страниц.

Примеры использования

Аудит кэширования статических ресурсов (CSS/JS/изображения/шрифты)

Проверьте, что ресурсы с уникальными идентификаторами (fingerprinted) могут кэшироваться долгое время и эффективно проходить ревалидацию при необходимости.

  • Убедитесь, что Cache-Control включает длительный max-age и (при необходимости) immutable
  • Убедитесь в наличии валидаторов (ETag или Last-Modified) для безопасной ревалидации
  • Проверьте индикаторы попадания в кэш CDN (Age, CF-Cache-Status, X-Cache)
Cache-Control: public, max-age=31536000, immutable
ETag: "686897696a7c876b7e"
Vary: Accept-Encoding

Предотвращение случайного кэширования HTML-страниц

Выявление случаев, когда HTML-страницы кэшируются слишком агрессивно на уровне CDN или браузера, что может нарушать процессы входа, персонализацию и согласованность рендеринга для SEO.

  • Обнаружение излишне разрешительного Cache-Control для HTML
  • Выявление отсутствия Vary там, где контент зависит от cookies, авторизации или языка
  • Подтверждение безопасных шаблонов ревалидации

Обзор кэширования API-эндпоинтов

Определите, включено ли общее кэширование для ответов API и является ли ваш API безопасным для кэширования.

  • Обнаружение общего кэширования через s-maxage
  • Выявление стратегий stale-while-revalidate / stale-if-error
  • Отметка отсутствия валидаторов, когда ответы API кэшируемы

Отладка поведения CDN при редиректах

Многие сайты используют редиректы (HTTP→HTTPS, apex→www, локальные редиректы). Этот инструмент помогает убедиться, что политики кэширования остаются согласованными от первого до финального ответа.

  • Проверка заголовков на каждом этапе и на финальном URL
  • Выявление изменений заголовков кэширования, внесённых правилами на границе или перезаписями на источнике

❓ Frequently Asked Questions

Какие заголовки анализирует этот инструмент для кэширования?

Он фокусируется на семантике и сигналах кэширования: Cache-Control, Expires, Pragma, Age, ETag, Last-Modified, Vary, а также на общих индикаторах CDN/прокси, таких как Via, CF-Cache-Status, X-Cache и связанных с ними граничных заголовках.

Почему я вижу разные результаты кэширования в браузере и CDN?

Браузеры следуют сквозным директивам кэширования (Cache-Control, Expires), в то время как CDN и прокси могут применять правила общего кэша (s-maxage, Surrogate-Control) и граничные политики. Ответ может быть кэшируемым на границе, но иметь короткое время жизни в браузере, или наоборот.

Для чего используются ETag и Last-Modified?

Это валидаторы для условных запросов. С помощью ETag (If-None-Match) или Last-Modified (If-Modified-Since) клиенты и кэши могут ревалидировать ресурсы и получать лёгкий ответ 304 Not Modified, если контент не изменился.

Стоит ли кэшировать HTML-страницы надолго?

Обычно нет. HTML часто меняется и может быть персонализирован. Агрессивное кэширование может отдавать устаревший или неверный контент. Предпочитайте короткое кэширование с ревалидацией и используйте корректные правила Vary, когда контент зависит от заголовков/cookies.

Что такое Vary и почему это важно?

Vary сообщает кэшам, какие заголовки запроса влияют на ответ (например, Accept-Encoding). Отсутствие или некорректный Vary может привести к тому, что кэши будут отдавать неверный вариант (сжатый против несжатого, языковые варианты и т.д.).

Безопасно ли вставлять сюда URL-адреса?

Инструмент выполняет серверные запросы к предоставленному URL и блокирует цели в частных сетях. Используйте публичные URL-адреса, которым вы доверяете, и избегайте вставки секретов в строку запроса URL.

Можно ли экспортировать анализ?

Да. Инструмент поддерживает экспорт отчёта в формате JSON и PDF, чтобы вы могли делиться результатами или прикреплять их к аудитам производительности.

Pro Tips

Performance Tip

Если ваши ресурсы имеют цифровой отпечаток (хэш в имени файла), используйте длительный max-age + immutable для наилучшей производительности при повторных посещениях.

Security Tip

Если HTML персонализирован (куки/аутентификация), избегайте кэширования в общих кэшах, если вы не полностью контролируете ключ кэша и поведение Vary.

Performance Tip

Предпочитайте валидаторы (ETag или Last-Modified) для кэшируемых ресурсов, чтобы клиенты могли повторно проверять с помощью 304 вместо повторной загрузки.

Best Practice

Следите за конфликтующими директивами, например, no-store вместе с длительным max-age; это обычно указывает на неправильную конфигурацию.

Best Practice

При отладке редиректов сравнивайте заголовки кэширования на каждом этапе; правила на границе могут изменять кэширование между редиректами и конечным URL.

CI Tip

Экспортируйте JSON-отчёты и сохраняйте их в артефактах CI/аудита производительности, чтобы отслеживать регрессии со временем.

Additional Resources

Other Tools

Анализатор заголовков кэша — проверка Cache-Control, ETag, сигналов CDN и кэширования в браузере | Encode64