Домены и хостинг

HTTP-заголовки и редиректы: как проверить ответ сервера и цепочку 301

Коды ответа от 200 до 504, правило одного редиректа, склейка http и www, опасный X-Robots-Tag и заголовки безопасности: проверка цепочки и шапки ответа онлайн.

HTTP-заголовки и редиректы — коды ответа, правило одного редиректа и склейка http и www

Каждый раз, когда браузер открывает страницу, сервер отвечает ему не только текстом, но и служебной шапкой: код ответа, тип содержимого, правила кеширования, адрес перенаправления. Эту шапку не видно глазами, а половина проблем сайта живёт именно в ней — от бесконечного редиректа до случайного запрета индексации. Введите домен, и проверка пройдёт весь путь от http:// до конечной страницы: покажет каждый шаг цепочки, код ответа и полный список заголовков.

Что такое ответ сервера

Ответ состоит из трёх частей: кода состояния, набора заголовков и тела — собственно HTML. Код — это короткий вывод: 200 значит «вот страница», 301 — «она переехала навсегда», 404 — «такой нет», 500 — «у меня сломалось». Заголовки уточняют: чем отдан контент, сжат ли он, сколько хранить в кеше, куда перенаправлять, какие правила безопасности применять.

Важно, что браузер и поисковый робот читают одну и ту же шапку, но ведут себя по-разному. Человек не заметит лишний редирект и 302 вместо 301 — а робот именно по ним решает, какой адрес считать основным и стоит ли передавать ему накопленный вес.

Коды ответа, которые встречаются на практике

  • 200 — всё в порядке, страница отдана.
  • 301 — постоянный переезд. Поиск со временем заменяет старый адрес новым.
  • 302 и 307 — временный переезд. Старый адрес остаётся в индексе. Если переезд на самом деле навсегда, это ошибка.
  • 308 — постоянный, как 301, но с сохранением метода запроса. Встречается реже.
  • 304 — «не изменилось с прошлого раза», браузер берёт страницу из своего кеша. Хороший признак, а не проблема.
  • 401 и 403 — требуется вход или доступ запрещён. На публичной странице — повод разбираться.
  • 404 — страницы нет. Нормально для опечаток, плохо, когда так отвечают живые разделы.
  • 410 — удалена навсегда. Сигнал сильнее, чем 404: адрес выкидывают из индекса быстрее.
  • 429 — слишком много запросов, сервер просит подождать.
  • 500 — ошибка приложения. У сайтов на PHP это чаще всего фатальная ошибка в коде или плагине.
  • 502 и 504 — прокси не дождался ответа от бэкенда: упал php-fpm, перегружена база, слишком долгий запрос.
  • 503 — временная недоступность, обычно режим обслуживания. Держать её неделями нельзя: поиск начнёт выбрасывать страницы.

Редиректы: одно правило вместо десяти

У любого сайта есть минимум четыре входа на главную: с http и https, с www и без. Работать должен один из них, остальные — одним прыжком вести к нему. Это и есть правило: от любого входа до конечного адреса не больше одного редиректа, и этот редирект — 301.

Как выглядит норма в проверке: http://site.uz → 301 → https://site.uz/ → 200. Как выглядит запущенный случай: http://site.uz → 301 → http://www.site.uz → 301 → https://www.site.uz → 301 → https://site.uz/ → 200. Работает, но каждый лишний шаг — это лишние доли секунды для посетителя и лишний повод для робота сомневаться, какой адрес главный.

Отдельная беда — цепочка, которая замыкается сама на себя: браузер показывает ERR_TOO_MANY_REDIRECTS, и сайт просто не открывается. Классическая причина у сайтов на WordPress — адрес в настройках прописан с www, а сервер правилом гонит все запросы без www. Каждый честно выполняет свою инструкцию, и они перекидывают посетителя друг другу по кругу.

Ещё одна частая ошибка — при переезде или смене структуры завернуть все старые адреса на главную. Для поиска это равносильно «страницы больше нет», а вдобавок обесценивает ссылки, которые на неё вели. Правильно — вести каждый старый адрес на его смысловую замену, и только то, чему замены нет, отдавать как 404 или 410.

Заголовки, на которые стоит смотреть

Content-Type — тип содержимого и кодировка. Для обычной страницы это text/html; charset=UTF-8. Если кодировка не указана, а страница в UTF-8, возможны «кракозябры» в старых браузерах.

Content-Encoding — сжатие. Значения gzip или br означают, что HTML едет к посетителю сжатым, обычно в четыре-пять раз меньше. Если заголовка нет вовсе — сжатие не включено, и это первое, что стоит исправить.

Cache-Control, ETag, Last-Modified — правила кеширования. Они решают, будет ли браузер при повторном заходе скачивать всё заново или возьмёт из памяти.

Location — адрес, куда перенаправляют. Есть только у ответов 3xx.

X-Robots-Tag — самый опасный заголовок для продвижения. Если в нём стоит noindex, страница исчезнет из поиска, и по коду страницы этого не увидеть: в HTML метатега нет, запрет приходит в шапке. Такое случается, когда боевой сайт разворачивают из копии тестового.

Server и X-Powered-By — чем отдана страница: Apache, nginx, версия PHP. Полезно для диагностики и совершенно не обязательно показывать наружу.

Set-Cookie — сервер ставит куки. На страницах, которые должны отдаваться из кеша всем одинаково, лишние куки мешают кешированию.

Vary — по каким признакам ответ различается. Обычно Accept-Encoding, у сайтов с мобильной версией — ещё и User-Agent.

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

Их нет по умолчанию почти нигде, а ставятся они одной строкой в конфиге сервера.

  • Strict-Transport-Security — браузер запоминает, что на сайт ходят только по https, и больше не пробует http. Убирает первый редирект и защищает от подмены на открытом Wi-Fi.
  • X-Content-Type-Options: nosniff — запрещает браузеру угадывать тип файла вопреки указанному.
  • X-Frame-Options или директива frame-ancestors — запрет встраивать сайт в чужой фрейм. Защита от кликджекинга.
  • Referrer-Policy — сколько сведений об исходной странице уходит на чужие сайты по ссылкам.
  • Content-Security-Policy — самый сильный и самый капризный: перечисляет, откуда разрешено грузить скрипты и стили. Внедряют постепенно, иначе легко сломать рабочие функции.

Проверка выведет отдельной строкой, какие из этих заголовков у сайта есть. Пустая строка — не авария, но дешёвая возможность стать надёжнее.

Как посмотреть то же самое вручную

В браузере: F12, вкладка Network, перезагрузить страницу, щёлкнуть по первой строке — справа будут Response Headers и цепочка редиректов. В терминале: curl -I https://example.com покажет только шапку, а curl -IL https://example.com пройдёт всю цепочку до конца. Флаг -L и означает «следовать за редиректами».

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

Проверка показывает 403, а сайт открывается. Защита хостинга или Cloudflare не пропускает запросы без браузерного отпечатка. Для роботов поисковиков обычно делают исключение, но лучше убедиться в этом отдельно.

Цепочка проходит через странные адреса с длинным хвостом параметров. Так выглядит антибот-проверка перед выдачей страницы. Для посетителя она обычно незаметна, для робота — лишний барьер.

Сколько редиректов допустимо? Технически браузеры выдерживают до двадцати, практически — норма один, два уже повод поправить конфиг.

Заголовки отличаются от тех, что я вижу в браузере. Скорее всего, CDN отдаёт разным клиентам разный кеш. Сравните поле Server и наличие заголовков кеша провайдера.

Дальше: скорость ответа сайта и TTFB, проверка SSL-сертификата и все инструменты на одной странице.

Вебмастер, автор и издатель Nova Digital

12 лет в IT: программист и вебмастер. Nova Digital веду сам. Материалы готовлю по официальным источникам и обсуждениям в сообществах пользователей, текст пишу с помощью ИИ, а факты и ссылки сверяю руками перед публикацией.

Об авторе и редакционной политике →

Как сделан материал: текст подготовлен с помощью искусственного интеллекта по официальным источникам и открытым обсуждениям, факты и ссылки проверены вручную перед публикацией. Последнее обновление: 29 сентября 2026. Нашли неточность — напишите в комментариях, поправим и укажем дату правки.

Оставить комментарий

Комментарий появляется после проверки. Публикуем вопросы по теме статьи и личный опыт; реклама, ссылки на сторонние сайты и просьбы прислать логины и пароли удаляются. Почта необязательна: она нужна только для личного ответа и не публикуется. Обязательны имя и текст комментария.

Читайте также