Проверка HTTP-заголовков сайта

Посмотрите, какие именно заголовки ответа отправляет сайт: заголовки сервера и кэширования, атрибуты cookie и заголовки безопасности, на которые реагируют браузеры.

Что показывает этот инструмент

OrbitProbe запрашивает главную страницу по HTTPS, проходит редиректы и перечисляет заголовки итогового ответа ровно в том виде, в каком их отправил сервер. Заголовками сервер сообщает браузерам и кэшам, что делать: как долго хранить копию, можно ли встраивать страницу во фрейм, какие скрипты можно выполнять и что к сайту следует обращаться только по HTTPS.

Значения cookie никогда не отображаются. Заголовок Set-Cookie может содержать идентификатор сессии, поэтому показываются только имя cookie и её атрибуты (Secure, HttpOnly, SameSite, срок действия). Именно эти атрибуты и стоит проверять.

Коротко о заголовках безопасности

Strict-Transport-Security говорит вернувшимся браузерам использовать только HTTPS. Content-Security-Policy ограничивает, откуда могут загружаться скрипты, стили и фреймы, и тем самым уменьшает ущерб от внедрённого скрипта. X-Content-Type-Options: nosniff запрещает браузерам угадывать типы файлов. X-Frame-Options или директива frame-ancestors в CSP определяет, могут ли другие сайты встраивать страницу. Referrer-Policy и Permissions-Policy ограничивают то, что страница раскрывает наружу, и то, какие функции устройства она может использовать.

Инструмент проверяет, присутствует ли каждый заголовок в этом одном ответе. Саму политику внутри него он не оценивает: Content-Security-Policy, разрешающая всё, присутствует и при этом бесполезна. Читайте значение.

То же самое из терминала

curl -sI https://example.com показывает заголовки одного ответа, а curl -sIL проходит редиректы и выводит заголовки каждого шага. Инструменты разработчика в браузере показывают то же самое на вкладке Network.

Как пользоваться этим инструментом

  1. Введите домен. Введите или вставьте доменное имя, например example.com. Подойдёт и полный URL: схема, путь и начальное www будут отброшены.
  2. Получите заголовки ответа. Главная страница запрашивается по HTTPS, инструмент следует по редиректам.
  3. Изучите заголовки безопасности. Показаны заголовки итогового ответа; отмечено наличие HSTS, CSP и других заголовков безопасности. Значения cookie скрыты.

То же самое в командной строке

Та же проверка из терминала. В командах используется example.com: замените его своим именем.

  • Заголовки одного ответаcurl -sI https://example.com
  • Заголовки каждого шага редиректаcurl -sIL https://example.com
  • Windows (PowerShell)(Invoke-WebRequest -Uri https://example.com -Method Head).Headers

Частые вопросы

Как проверить HTTP-заголовки сайта?

Введите домен выше или выполните в терминале curl -sI https://example.com. В обоих случаях вы увидите строку статуса и заголовки ответа.

Какие заголовки безопасности должен отправлять сайт?

Для большинства сайтов: Strict-Transport-Security, подходящую сайту Content-Security-Policy и X-Content-Type-Options: nosniff. Защита от встраивания во фреймы, Referrer-Policy и Permissions-Policy — разумные дополнения.

Почему значения cookie скрыты?

Значение cookie может быть токеном сессии. Показывать его на публичной странице было бы неосмотрительно, и о конфигурации оно ничего не говорит. Атрибуты показаны полностью.

Почему в браузере я вижу другие заголовки?

Серверы и CDN меняют заголовки в зависимости от пути, клиента, региона и того, пришёл ли ответ из кэша. Этот инструмент запрашивает главную страницу один раз, как клиент, не являющийся браузером.

Заголовок Server отсутствует. Это проблема?

Нет. Скрывать или сокращать заголовок Server — обычная практика, и на посетителей это никак не влияет.