Проверка HTTP-Заголовков
Бесплатная проверка HTTP-заголовков для любого URL. Проверяйте заголовки сервера, cache, безопасности (HSTS, CSP, X-Frame-Options) и производительности для аудитов безопасности и тестирования.
Что такое инструмент Проверка HTTP-Заголовков?
Проверка HTTP-Заголовков открывает реальное HTTP- или HTTPS-соединение к URL и считывает заголовки ответа, которые сервер фактически отдаёт. HTTP-заголовки это слой метаданных протокола (RFC 7230-7237) и несут много сведений о поведении сервера: как кэшируется контент, какие типы контента разрешены, какая cross-origin политика действует и, что важно, какие заголовки безопасности установлены.
Заголовки безопасности интересуют большинству пользователей больше всего. HSTS удерживает сайт на HTTPS, CSP ограничивает выполняемые скрипты, X-Frame-Options блокирует clickjacking, а другие защищают от MIME sniffing, утечки referrer и понижения протокола. Инструмент отправляет запрос, читает ответ, оценивает набор заголовков безопасности по OWASP и Mozilla и показывает остальные заголовки для просмотра.
Что такое HTTP-заголовки?
HTTP-заголовки это базовые компоненты веб-коммуникации, метаданные, управляющие взаимодействием браузеров и серверов. Наша Проверка HTTP-Заголовков фокусируется на заголовках ответа, которые показывают конфигурацию сервера, уровень безопасности и настройки доставки контента. Заголовки ответа включают директивы безопасности (HSTS, CSP, X-Frame-Options), политики кэширования (Cache-Control, ETag), спецификации контента (Content-Type, Content-Length) и информацию о сервере (Server, X-Powered-By).
HTTP-заголовки работают одинаково в соединениях HTTP (порт 80) и HTTPS (порт 443), но HTTPS добавляет шифрование TLS/SSL (RFC 8446), защищающее заголовки от перехвата при передаче. HTTPS необходим для заголовков безопасности вроде HSTS, которым нужны HTTPS-соединения для эффективной работы. Поддерживаются оба протокола, TLS/SSL для HTTPS обрабатывается автоматически, обеспечивая точный анализ заголовков независимо от протокола.
Как работает анализ HTTP-заголовков
Анализ HTTP-заголовков включает установку сетевых соединений, получение HTTP-ответов, разбор данных заголовков и анализ конфигураций безопасности. Этот инструмент использует авторитетные методы на основе интернет-стандартов для точной информации о заголовках:
1. Установка соединения и разрешение DNS
Инструмент разрешает целевое доменное имя в IP-адрес через DNS-запросы (записи A/AAAA по RFC 1035), затем устанавливает TCP-соединение с портом 80 (HTTP) или 443 (HTTPS). Для HTTPS- соединений выполняется TLS-handshake по RFC 8446 для установки шифрованного соединения перед отправкой HTTP-запросов.
Преобразует доменные имена в IP-адреса через DNS-запросы (записи A/AAAA) по стандартам RFC 1035.
Устанавливает TCP-соединение с портом 80 (HTTP) или 443 (HTTPS) для HTTP-коммуникации.
Выполняет TLS/SSL-handshake по RFC 8446 для HTTPS-соединений, чтобы установить шифрованную связь.
Автоматически определяет протокол HTTP или HTTPS из URL и обрабатывает соответствующий тип соединения.
Поддерживает адреса IPv4 и IPv6. Для IP-адресов инструмент автоматически добавляет протокол http:// и пытается подключиться. Если HTTP не удаётся, автоматически пробует HTTPS как запасной вариант для максимальной совместимости.
Проверка SSL-сертификата намеренно отключена, чтобы вы могли проверять заголовки на серверах с самоподписанными или иным образом неисправными сертификатами. Если нужно оценить сам сертификат, используйте вместо этого Проверку SSL.
Запросы имеют таймаут 15 секунд, чтобы не ждать бесконечно. Если сервер не отвечает за это время, соединение завершается с соответствующим сообщением об ошибке.
2. Передача HTTP-запроса
Инструмент отправляет HTTP-запрос (обычно GET или HEAD) на целевой сервер, включая стандартные заголовки запроса Host, User-Agent, Accept и Connection. Сервер обрабатывает запрос и формирует HTTP-ответ со статус-кодами, заголовками ответа и при необходимости телом ответа.
Отправляет HTTP-запрос методом GET или HEAD для эффективного получения заголовков ответа. Метод HEAD предпочтителен, когда нужны только заголовки, так как не загружает тело ответа, что быстрее и экономнее по трафику.
Отправляет заголовки запроса, похожие на браузерные, включая User-Agent (Chrome), Accept, Accept-Language, Accept-Encoding, Upgrade-Insecure-Requests, заголовки Sec-Fetch-*, Cache-Control и Connection, чтобы имитировать поведение реального браузера и обеспечить точное получение заголовков.
Получает HTTP-ответ со статус-кодами, заголовками ответа и необязательным телом ответа.
Обрабатывает таймауты соединения, сбои DNS и HTTP-ошибки с соответствующими сообщениями и контролируемой деградацией.
3. Разбор заголовков и анализ безопасности
Полученные HTTP-заголовки ответа разбираются и категоризируются на заголовки безопасности, кэширования, контента, информации о сервере, CORS и пользовательские. Каждый заголовок проверяется на синтаксическое соответствие RFC 7230-7237, а заголовки безопасности анализируются по рекомендациям OWASP Secure Headers Project и руководствам Mozilla.
Разбирает HTTP-заголовки ответа по стандартам RFC 7230-7237 и извлекает имена и значения заголовков.
Организует заголовки по категориям: безопасность, контент, кэширование, информация о сервере, CORS и пользовательские заголовки.
Распознаёт современные альтернативы заголовков, например CSP frame-ancestors вместо X-Frame-Options. Инструмент анализирует традиционные и современные заголовки, отдавая предпочтение современным реализациям, когда присутствуют оба.
Проверяет синтаксис заголовков на соответствие стандартам HTTP по спецификациям RFC 7230-7237.
Анализирует заголовки безопасности по рекомендациям OWASP Secure Headers Project и руководствам Mozilla по безопасности.
Выявляет отсутствующие заголовки безопасности, указывающие на потенциальные уязвимости и пробелы в защите.
Как использовать Проверку HTTP-Заголовков
Наша Проверка HTTP-Заголовков рассчитана на пользователей любого технического уровня. Следуйте этому простому процессу:
-
Шаг 1: Введите доменное имя (например, example.com), полный URL (например, https://example.com) или IP-адрес (IPv4 вроде 192.168.1.1 или IPv6 вроде 2001:db8::1). Инструмент автоматически определяет тип ввода и протокол. Для доменов без протокола по умолчанию используется HTTPS. Для IP сначала пробуется HTTP, при неудаче HTTPS как запасной вариант.
-
Шаг 2: Пройдите проверку CAPTCHA для безопасного использования и защиты от автоматизированных злоупотреблений.
- Шаг 3: Нажмите кнопку "ПРОВЕРИТЬ ЗАГОЛОВКИ". Инструмент установит HTTP-соединение и получит заголовки.
Результаты включают полные HTTP-заголовки ответа по категориям (безопасность, контент, кэширование, информация о сервере, CORS, пользовательские), анализ заголовков безопасности с сравнением конфигураций с рекомендациями OWASP, выявление отсутствующих заголовков безопасности и подробные рекомендации. Можно просматривать заголовки в организованных разделах, анализировать конфигурации, копировать значения или экспортировать полные результаты в JSON, CSV или TXT.
Какие заголовки безопасности критичны?
Заголовки безопасности это HTTP-заголовки ответа, защищающие сайты и пользователей от разных атак. Понимание этих заголовков важно для поддержания безопасных веб-приложений:
HTTP Strict Transport Security (HSTS)
Заголовок:
Strict-Transport-Security (RFC 6797)Назначение: Заставляет браузеры использовать HTTPS-соединения, предотвращая атаки понижения протокола и man-in-the-middle.
Пример:
Strict-Transport-Security: max-age=31536000; includeSubDomains
Отсутствие HSTS позволяет атакующим понизить HTTPS до HTTP и перехватить конфиденциальные данные. HSTS гарантирует шифрование всех соединений, защищая учётные данные и личную информацию.
Content Security Policy (CSP)
Заголовок: Content-Security-Policy (RFC 7762)
Назначение: Снижает риск Cross-Site Scripting (XSS), контролируя, какие ресурсы можно загружать и выполнять.
Пример: Content-Security-Policy: default-src 'self'; script-src 'self'
Отсутствие CSP оставляет сайты уязвимыми к XSS и позволяет внедрять вредоносные скрипты. CSP ограничивает загрузку ресурсов и блокирует несанкционированное выполнение скриптов.
X-Frame-Options
Заголовок:
X-Frame-Options (RFC 7034)Назначение: Предотвращает clickjacking, контролируя, можно ли показывать страницы во frame.
Значения:
DENY (без frame), SAMEORIGIN (только тот же origin)Пример:
X-Frame-Options: DENY
Отсутствие X-Frame-Options позволяет встраивать страницы во вредоносные frame и обманом заставлять пользователей кликать по скрытым элементам.
X-Content-Type-Options
Заголовок:
X-Content-Type-Options: nosniffНазначение: Предотвращает атаки MIME-type sniffing, заставляя браузеры уважать объявленные типы контента.
Без этого заголовка браузеры могут угадывать типы контента и выполнять вредоносный контент как скрипты. Директива nosniff заставляет браузеры уважать объявленные MIME-типы.
Referrer-Policy
Заголовок: Referrer-Policy
Назначение: Контролирует, сколько информации referrer передаётся с запросами, защищая конфиденциальность пользователя.
Пример: Referrer-Policy: strict-origin-when-cross-origin
Контролирует передачу информации referrer и предотвращает утечку чувствительных параметров URL на сторонние сайты.
X-XSS-Protection (Устаревший)
Заголовок: X-XSS-Protection
Статус: Устаревший - современные браузеры убрали XSS-фильтрацию
Назначение: Раньше включал XSS-фильтрацию браузера, но эта функция удалена из современных браузеров.
Современная альтернатива: Content Security Policy (CSP) даёт более сильную защиту от XSS.
Не полагайтесь на X-XSS-Protection. Вместо этого внедрите строгую Content-Security-Policy. CSP это современный способ блокировать Cross-Site Scripting с детальным контролем источников, которые могут выполнять скрипты в браузере.
Expect-CT (Устаревший)
Заголовок: Expect-CT
Статус: Устаревший (RFC 9163) - заменён мониторингом Certificate Transparency
Назначение: Раньше использовался для обнаружения ошибочно выданных SSL-сертификатов через журналы Certificate Transparency.
Примечание: Этот заголовок устарел и на него полагаться не следует. Современный мониторинг сертификатов использует журналы Certificate Transparency напрямую.
Не внедряйте Expect-CT. Вместо этого используйте сервисы мониторинга Certificate Transparency или инструменты, которые напрямую запрашивают журналы CT для мониторинга сертификатов и безопасности.
Система оценки заголовков безопасности
Оценка безопасности это 100-балльный score по образцу securityheaders.com. Каждый заголовок проверяется на наличие, качество конфигурации и соответствие текущим лучшим практикам:
Максимум 25 баллов. Базовый балл за наличие (6 баллов), бонус за max-age ≥ 1 год (до 20 баллов), директива includeSubDomains (+3 балла) и директива preload (+2 балла). Отличная конфигурация с max-age ≥ 31536000, includeSubDomains и preload получает все 25 баллов.
Максимум 25 баллов. Базовый балл за наличие (12 баллов), бонус за директиву default-src (+4 балла), script-src (+3 балла) и использование nonce/hash (+6 баллов). Штрафы за unsafe-inline (-3 балла) и unsafe-eval (-2 балла). Отличная CSP со строгими политиками получает до 25 баллов.
Максимум 12 баллов. DENY получает 12 баллов, SAMEORIGIN 10 баллов. CSP frame-ancestors также распознаётся как современная альтернатива и получает 12 баллов. Если отсутствуют оба, 0 баллов.
Максимум 12 баллов. Корректная настройка с "nosniff" даёт 12 баллов. Отсутствие или неверная настройка даёт 0-5 баллов.
Максимум 13 баллов. Корректная настройка со стандартными значениями политики даёт 13 баллов. Предпочтительны более строгие политики (strict-origin, strict-origin-when-cross-origin, same-origin, no-referrer).
Максимум 13 баллов. Базовый балл за наличие (5 баллов), бонус за ограниченные функции (до 8 баллов). Больше ограничений указывает на лучшую конфигурацию безопасности.
Шкала оценок заголовков безопасности подробно
Мы за прозрачность. Понимание того, как конфигурация заголовков безопасности переводится в оценку, помогает принимать обоснованные решения об уровне безопасности вашего сайта. Ниже подробная схема нашей системы оценок:
Оценки заголовков безопасности (7 уровней)
Почти идеальная конфигурация заголовков безопасности. Все критичные заголовки присутствуют и правильно настроены. HSTS включает max-age ≥ 1 год, includeSubDomains и preload. CSP использует строгие политики с nonce/hash без unsafe-директив. Остальные заголовки оптимально настроены. Эта оценка указывает на enterprise-уровень внедрения заголовков безопасности.
Отличная конфигурация заголовков безопасности с небольшими зонами для улучшения. Большинство критичных заголовков на месте и настроено хорошо. Возможны небольшие пробелы: CSP без nonce/hash, HSTS без preload или мелкие оптимизации. Эта оценка указывает на сильное внедрение, подходящее для production.
Хорошая конфигурация заголовков безопасности с возможностями для улучшения. Большинство заголовков есть, но конфигурация может быть неоптимальной. Частые проблемы: CSP с unsafe-inline или unsafe-eval, HSTS с недостаточным max-age или отсутствие Permissions-Policy. Оценка приемлемая, но нужна оптимизация для лучшей защиты.
Удовлетворительная конфигурация с существенными пробелами. Некоторые критичные заголовки могут отсутствовать или быть настроены неверно. Частые проблемы: нет CSP, слабый HSTS или нет X-Frame-Options/X-Content-Type-Options. Базовые меры есть, но нужны критичные улучшения против типичных веб-атак.
Слабая конфигурация заголовков безопасности с серьёзными пробелами. Несколько критичных заголовков отсутствуют или настроены неверно. Сайты с этой оценкой уязвимы к XSS, clickjacking и атакам понижения протокола. Нужны срочные меры по внедрению отсутствующих заголовков и улучшению конфигурации.
Плохая конфигурация заголовков безопасности с критичными уязвимостями. Большинство заголовков отсутствует или сильно настроено неверно. Сайты с этой оценкой очень уязвимы и не должны использоваться в production без немедленного внедрения заголовков безопасности. Эта конфигурация создаёт значительные риски для пользователей.
Очень плохая конфигурация заголовков безопасности с минимальной или нулевой защитой. Критичные заголовки полностью отсутствуют или сильно настроены неверно. Сайты с этой оценкой крайне уязвимы и не должны выходить в production. Перед запуском нужно немедленно внедрить все критичные заголовки безопасности.
Лучшие практики заголовков безопасности
Правильное внедрение заголовков безопасности критично для защиты сайтов и пользователей от атак. Этот раздел даёт лучшие практики на основе рекомендаций OWASP и типичные ошибки конфигурации:
Всегда внедряйте HSTS с подходящим max-age (минимум 31536000 секунд на год) и директивой includeSubDomains. Отсутствие HSTS делает сайты уязвимыми к атакам понижения протокола.
Внедряйте строгие политики CSP, ограничивающие загрузку ресурсов только доверенными источниками. Используйте default-src 'self' как базу и по возможности избегайте 'unsafe-inline' и 'unsafe-eval'. Слабые CSP с этими директивами дают минимальную защиту от XSS.
Используйте DENY, чтобы запретить любое встраивание в frame, или SAMEORIGIN, чтобы разрешить только same-origin. Либо используйте директиву Content-Security-Policy frame-ancestors (например, frame-ancestors 'none' или frame-ancestors 'self'), современную замену X-Frame-Options. CSP frame-ancestors даёт более тонкий контроль и предпочтительнее X-Frame-Options. Отсутствие X-Frame-Options или CSP frame-ancestors делает сайты уязвимыми к clickjacking.
Всегда устанавливайте nosniff, чтобы предотвратить атаки MIME-type sniffing. Это гарантирует, что браузеры уважают объявленные типы контента и не допускают атак с путаницей типов.
Удалите или минимизируйте заголовок Server, чтобы предотвратить раскрытие информации. Публикация ПО сервера и версии (например, Server: nginx/1.18.0) помогает атакующим находить уязвимости и планировать целевые атаки.
Удалите заголовок X-Powered-By, чтобы не раскрывать framework приложения. Публикация сведений о framework (PHP, Express и т. д.) помогает атакующим находить уязвимости, специфичные для framework. Удалите этот заголовок в production.
Проверьте пользовательские заголовки X-* на раскрытие информации. Они могут выдавать внутренние детали приложения, endpoint API или архитектуру системы. Удалите или очистите заголовки, раскрывающие конфиденциальные данные.
Внедрите подходящую Referrer-Policy для защиты конфиденциальности пользователей. Используйте strict-origin-when-cross-origin для баланса конфиденциальности и функциональности или no-referrer для максимальной конфиденциальности. Это предотвращает утечку чувствительных параметров URL на сторонние сайты.
Используйте подходящие директивы кэша: no-store для конфиденциального контента, public, max-age=3600 для статических ресурсов и private для пользовательского контента. Неверно настроенные заголовки Cache-Control могут вызвать проблемы безопасности (кэширование конфиденциального контента) или производительности.
Типичные сценарии Проверки HTTP-Заголовков
Самые частые причины использовать проверку заголовков:
Проверьте внедрение заголовков безопасности на соответствие рекомендациям OWASP, требованиям PCI-DSS и стандартам безопасности. Выявите отсутствующие заголовки, указывающие на потенциальные уязвимости, и оцените уровень безопасности для управления рисками.
Анализируйте заголовки кэширования (Cache-Control, ETag, Expires), чтобы оптимизировать доставку контента и снизить нагрузку на сервер. Найдите ошибки кэширования, влияющие на производительность, и оптимизируйте политики кэша для лучшего удобства пользователей.
Отладьте проблемы CORS, анализируя заголовки Access-Control-Allow-Origin и связанные директивы CORS. Найдите ошибки CORS, блокирующие доступ к API, и проверьте политики CORS на соответствие требованиям безопасности.
Проверьте идентификацию ПО сервера, проанализируйте пользовательские заголовки приложения и выявите уязвимости раскрытия информации. Проверьте конфигурацию заголовков сервера на соответствие лучшим практикам безопасности.
Функции и возможности
Что вы получаете в одном месте. Полезно и инженерам, и нетехническим пользователям:
Поддерживает соединения HTTP (порт 80) и HTTPS (порт 443) с корректной обработкой TLS/SSL по RFC 8446, обеспечивая совместимость со всеми веб-серверами.
Устанавливает живые HTTP-соединения для получения актуальной информации о заголовках напрямую с целевых серверов.
Анализирует заголовки безопасности по рекомендациям OWASP Secure Headers Project и руководствам Mozilla, выявляет отсутствующие заголовки и даёт рекомендации по безопасности.
Организует заголовки в логические категории (безопасность, контент, кэширование, информация о сервере, CORS, пользовательские) для удобного анализа и понимания.
Позволяет экспортировать информацию о заголовках в JSON (RFC 8259), CSV и TXT для документации, анализа и интеграции с другими системами.
Все проверки заголовков выполняются в реальном времени без хранения данных, поэтому информация остаётся конфиденциальной и защищённой. Мы не сохраняем и не логируем доменные имена, URL, заголовки или результаты проверки.
Часто Задаваемые Вопросы (FAQ)
Проверка заголовков показывает, что сервер реально сообщает клиентам: какие заголовки безопасности установлены (и насколько строго), политику кэширования, объявленный тип контента, баннеры идентификации сервера, правила CORS и любые пользовательские заголовки приложения. Полезно для поиска пробелов в безопасности, отладки кэша, поиска неверно настроенного CDN и подтверждения заголовков, которые ожидает ваша программа compliance.
Заголовки безопасности защищают сайты и пользователей от разных атак, включая XSS (Cross-Site Scripting), clickjacking, MIME-type sniffing, атаки понижения протокола и man-in-the-middle. Отсутствующие заголовки указывают на потенциальные уязвимости, которыми могут воспользоваться атакующие. HSTS, CSP, X-Frame-Options и X-Content-Type-Options дают важные уровни защиты, предотвращая типичные веб-атаки и защищая данные пользователей.
HTTP-заголовки работают одинаково в соединениях HTTP (порт 80) и HTTPS (порт 443). HTTPS добавляет шифрование TLS/SSL (RFC 8446) к HTTP, защищая данные заголовков от перехвата. Заголовки вроде HSTS рассчитаны на HTTPS и заставляют браузеры использовать шифрованные соединения. Инструмент поддерживает оба протокола и автоматически обрабатывает TLS/SSL.
Нет, наш инструмент Проверка HTTP-Заголовков не хранит доменные имена, URL, HTTP-заголовки или результаты проверки в базе приложения. Все проверки выполняются в реальном времени только на время вашего запроса и сразу удаляются. Стандартные access-логи сервера могут создаваться, как описано в нашей Политике Конфиденциальности.
HTTP-заголовки могут раскрывать версии ПО сервера, framework приложений и пользовательские детали через Server, X-Powered-By и пользовательские X-*. Такое раскрытие помогает атакующим находить уязвимости и планировать атаки. Инструмент выявляет такие заголовки и рекомендует удалить или минимизировать их, чтобы предотвратить утечку конфиденциальных данных.