Заголовки HTTP адреса

Состояние, сервер, переадресации и заголовки безопасности сайта.

Что показывает NetCheck

NetCheck отправляет запрос по указанному адресу со своих серверов, по очереди проходит все перенаправления и показывает для итогового ответа:

Коды состояния, которые стоит знать

КодЗначениеЧто запомнить
200OKСтраница существует и отвечает нормально.
301Постоянное перенаправлениеДля окончательной смены адреса: поисковики переносят позиции.
302 / 307Временное перенаправлениеПоисковик оставляет в индексе старый адрес. Частая ошибка при переездах.
308Постоянное перенаправлениеКак 301, но без смены метода запроса.
304Не измененоУ браузера уже есть актуальная версия в кэше.
403ЗапрещеноСервер отказывает в доступе, иногда потому, что файрвол блокирует ботов.
404Не найденоСтраницы не существует.
410УдаленоСтраница удалена навсегда: поисковики исключают её из индекса быстрее, чем при 404.
429Слишком много запросовДостигнут лимит частоты.
500 / 502 / 503Ошибка сервераПроблема на сервере или у промежуточного звена. 503 означает временную недоступность, например техническое обслуживание.

Заголовки безопасности

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

Перенаправления и SEO

Каждое перенаправление добавляет сетевой круг и немного ослабляет сигнал для поисковиков. Стремитесь к тому, чтобы между набранным адресом и конечной страницей было не больше одного перенаправления. Типичная цепочка, которую стоит исправить: http://primer.ru, затем https://primer.ru, затем https://www.primer.ru, затем https://www.primer.ru/glavnaya. Лучше сразу перенаправлять первый адрес на последний.

Кэширование

Проверка HTTP заголовков: как читать ответ сервера

Проверка заголовков сайта начинается с первой строки результата: код состояния, сервер, число переадресаций и время ответа. NetCheck отправляет HEAD-запрос, то есть просит у сервера только заголовки без тела страницы, проходит до восьми перенаправлений и показывает заголовки итогового ответа. Промежуточные ответы в списке не выводятся, поэтому видно, где заканчивается цепочка, а не каждый её шаг.

ЗаголовокЧто проверитьПример нормального значения
Код состояния200 для рабочей страницы, 301 или 308 для окончательного переезда200
Content-TypeТип и кодировка соответствуют содержимомуtext/html; charset=utf-8
Cache-ControlHTML не кэшируется надолго, статика кэшируетсяno-cache для HTML, max-age=31536000 для файлов с версией в имени
Strict-Transport-SecurityЕсть только на HTTPS, срок не меньше полугодаmax-age=31536000; includeSubDomains
Content-Security-PolicyПолитика не пустая и без unsafe-inline для скриптов, если это возможноdefault-src 'self'
X-Frame-OptionsЗапрет встраивания в чужие фреймыDENY или SAMEORIGIN

На что обратить внимание

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

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

Почему результат отличается от того, что я вижу в браузере?

Запрос идёт с серверов NetCheck, а не с вашего компьютера. Сайт может отвечать по-разному в зависимости от страны, языка, cookie или типа клиента, а некоторые файрволы блокируют автоматические запросы кодом 403. Результат всё равно хорошо отражает то, что видит бот, например поисковик.

Опасен ли заголовок «Server»?

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

Для перехода на HTTPS нужен 301 или 302?

301 (или 308), потому что изменение окончательное. Затем добавьте заголовок HSTS, чтобы браузер даже не пытался открыть HTTP-версию.

Сайт возвращает 200, но страница пустая или с ошибкой: в чём дело?

Некоторые приложения показывают страницу ошибки, но при этом возвращают код 200. Поисковики называют это «soft 404» и в итоге игнорируют такие страницы. Несуществующая страница должна возвращать настоящий 404.

Какие HTTP заголовки проверять в первую очередь?

Код состояния, Content-Type с кодировкой и Cache-Control, затем заголовки безопасности: HSTS, CSP и X-Frame-Options. Сводка в результате сразу показывает, какие из них есть, а каких нет.

Почему в проверке HTTP запросов не видно промежуточных переадресаций?

NetCheck проходит всю цепочку и показывает число переадресаций, но заголовки выводит только для итогового ответа. Чтобы увидеть конкретный шаг, введите его адрес отдельно.

Нужен ли X-Frame-Options, если уже есть Content-Security-Policy?

Директива CSP frame-ancestors заменяет X-Frame-Options в современных браузерах. Оба заголовка вместе не мешают друг другу, а X-Frame-Options поддерживается и старыми браузерами.

Другие инструменты NetCheck

Другие наши сайты:Toolo - инструменты для PDF и изображенийVolt - тест скорости интернетаBoxo - временная почта