Переходите с UptimeRobot? Импортируйте мониторы одним кликом по ключу API только для чтения.Начать бесплатно →
  1. Главная
  2. Бесплатные инструменты
  3. Коды ответа HTTP

Справочник кодов HTTP

Все распространённые коды ответа HTTP от 1xx до 5xx простым языком и что делать, когда их видит монитор, с ошибками nginx и Cloudflare. Бесплатно, с поиском.

Столбец оценки показывает, как HTTP-монитор Tenium относится к коду при настройках по умолчанию: ожидаемый статус от 200 до 299, редиректы выполняются. Ожидаемые статусы можно изменить для каждого монитора.

53 из 53 кодов

КодНазваниеЧто он значитЧто делать, когда его видит мониторОценка монитора по умолчанию
100 Continue Сервер получил заголовки запроса, и клиент может отправлять тело. В мониторе вы почти никогда его не увидите: HTTP-клиент обрабатывает его сам. Если проверка его показывает, между вами и сервером что-то странно отправляет промежуточные ответы. Попробуйте открыть URL через curl -v. Редко встречается
101 Switching Protocols Сервер согласен сменить протокол, например на WebSocket. Ожидаемо для конечной точки WebSocket. Обычный HTTP-монитор для неё не подходит: следите за страницей, которая отдаёт приложение, или за портом. Редко встречается
103 Early Hints Предварительный ответ, который позволяет браузеру начать загрузку ресурсов до настоящего ответа. Это не сбой. Если монитор его показывает, посредник неправильно обрабатывает промежуточные ответы; смотрите итоговый статус. Редко встречается
200 OK Запрос выполнен, в ответе есть страница или данные. Хорошо, но это не доказательство, что страница правильная. WordPress и многие приложения отвечают 200 с сообщением об ошибке в теле. Добавьте проверку ключевого слова для текста, который есть только на исправной странице. Работает
201 Created Запрос выполнен и создал новый ресурс, обычно после POST. Нормально для API, который что-то создаёт. Если вы следите за конечной точкой POST, оставьте 201 в ожидаемых статусах (диапазон 200-299 по умолчанию его уже включает). Работает
202 Accepted Запрос принят в обработку, но ещё не завершён. Нормально для API с очередями. Это ничего не говорит о том, завершится ли задача успешно, поэтому добавьте heartbeat для самой задачи. Работает
203 Non-Authoritative Information Ответ — изменённая копия от прокси, а не точный ответ исходного сервера. Встречается редко. Прокси или CDN переписывает ответы. Обычно безвредно; убедитесь, что тело такое, как вы ожидаете. Работает
204 No Content Запрос выполнен, тела в ответе намеренно нет. Нормально для API и конечных точек проверки состояния. Проверка ключевого слова на пустом теле не работает, поэтому здесь полагайтесь на код статуса. Работает
206 Partial Content Возвращена только часть файла, потому что запрошен диапазон байтов. Нормально для видео и больших загрузок. Монитор не отправляет заголовки Range, поэтому если вы видите его на странице, кэш или сервер ведёт себя необычно. Работает
300 Multiple Choices Есть несколько возможных ответов, и клиент должен выбрать. На сайтах встречается редко. Если монитор его получает, URL неоднозначен: ссылайтесь на конкретный ресурс. Переход по редиректу
301 Moved Permanently У страницы новый постоянный адрес. Обновите монитор на конечный URL, чтобы каждая проверка была одним запросом, а не двумя. Цепочка редиректов, которая заканчивается на 200, считается «работает»; та, что зациклена или заканчивается ошибкой, — нет. Переход по редиректу
302 Found Страница временно находится по другому адресу. Часто встречается при редиректах на вход и смене языка. Если монитор доходит до страницы входа и проверка проходит, вы проверяете не ту страницу, которую думаете. Укажите URL без редиректа. Переход по редиректу
303 See Other Результат находится по другому URL и должен быть получен методом GET, обычно после отправки формы POST. Ожидаемо после успешной отправки формы. Для монитора конечной точки POST решите, нужно ли следовать за ним или оценивать сам ответ 303. Переход по редиректу
304 Not Modified Кэшированная копия всё ещё актуальна; тело не отправляется. Появляется только на условных запросах, которые монитор не делает. Если он появился, слой кэша отвечает странно; проверьте заголовки инструментом «HTTP-заголовки». Редко встречается
307 Temporary Redirect Временный редирект, который сохраняет исходный метод и тело. Часто встречается, когда сайт принудительно включает HTTPS или у домена включён HSTS. Следите прямо за адресом https, чтобы пропустить лишний переход. Переход по редиректу
308 Permanent Redirect Постоянный редирект, который сохраняет исходный метод и тело. Для мониторинга то же, что 301: переключите монитор на конечный адрес. Проверьте зацикливание, если два правила указывают друг на друга. Переход по редиректу
400 Bad Request Сервер не смог понять запрос. Проверьте URL на лишние символы, повреждённый заголовок или слишком большой cookie. Если это началось после изменений, прокси или правило WAF может переписывать запрос. Не работает
401 Unauthorized Нужна аутентификация или учётные данные неверны. Если страница должна быть закрытой, добавьте 401 в ожидаемые статусы или укажите в мониторе учётные данные basic-аутентификации. Если она должна быть публичной, её закрыло правило доступа или плагин. Не работает
402 Payment Required Зарезервирован на будущее; некоторые сервисы используют его для проблем с оплатой. Если размещённый сервис или API его возвращает, проверьте учётную запись и состояние оплаты у поставщика. Не работает
403 Forbidden Сервер понял запрос, но отказывается его выполнять. Самая частая причина для монитора — файрвол, WAF или плагин безопасности блокирует его IP-адрес или User-Agent. Добавьте проверяющие серверы в белый список (allow-list), см. список IP-адресов проверок. Проверьте также права на файлы и настройки индексного файла каталога. Не работает
404 Not Found По этому URL на сервере ничего нет. Страницу удалили, перенесли или изменилась структура постоянных ссылок. Исправьте URL в мониторе или восстановите страницу. Если после обновления 404 на всём сайте, сломаны правила перезаписи. Не работает
405 Method Not Allowed URL существует, но не для этого HTTP-метода. Некоторые конечные точки отказываются от HEAD или GET. Переключите метод монитора на тот, который принимает конечная точка, обычно GET. Не работает
406 Not Acceptable Сервер не может сформировать ответ, подходящий под заголовки Accept. Часто это WAF или строгое согласование содержимого. Проверьте, какой заголовок Accept отправляет монитор и что отдаёт конечная точка. Не работает
408 Request Timeout Сервер перестал ждать запрос. Обычно сервер медленный или перегружен, либо у прокси короткий таймаут. Посмотрите нагрузку сервера и график времени ответа. Не работает
409 Conflict Запрос конфликтует с текущим состоянием ресурса. Типично для API записи. Для монитора это обычно значит, что вы обращаетесь к конечной точке записи; используйте URL проверки состояния только для чтения. Не работает
410 Gone Страница удалена навсегда и не вернётся. Это намеренно, в отличие от 404. Удалите монитор или направьте его на замену. Не работает
413 Content Too Large Тело запроса больше, чем принимает сервер. Увеличьте лимит загрузки в веб-сервере и PHP или уменьшите запрос. Монитор обычно этого не вызывает. Не работает
414 URI Too Long URL длиннее, чем принимает сервер. Сократите строку запроса в URL монитора или поищите цикл редиректов, который всё время добавляет параметры. Не работает
415 Unsupported Media Type Сервер не принимает тип содержимого запроса. Сверьте заголовок Content-Type и тело запроса монитора с тем, что ожидает API. Не работает
418 I'm a teapot Шуточный статус из первоапрельского RFC, который некоторые сервисы используют всерьёз. Некоторые блокировщики ботов возвращают его нежелательным клиентам. Считайте это блокировкой и добавьте монитор в белый список (allow-list). Не работает
421 Misdirected Request Запрос попал на сервер, который не может ответить для этого имени хоста. Часто это несоответствие TLS или SNI за общим прокси. Проверьте сертификат и виртуальный хост для этого имени. Не работает
422 Unprocessable Content Запрос составлен правильно, но содержит недопустимые данные. Проверка данных в API не прошла. Проверьте тело, которое отправляет монитор, или переключитесь на конечную точку состояния с GET. Не работает
425 Too Early Сервер не станет обрабатывать запрос, который может быть воспроизведён повторно (ранние данные TLS). Встречается редко. Повторите; если не проходит, посмотрите настройки ранних данных TLS 1.3 на прокси. Не работает
429 Too Many Requests Вас ограничивают по частоте запросов. Сервер или WAF ограничивает монитор. Добавьте его IP-адреса в белый список, увеличьте интервал или исключите URL из ограничений. Не игнорируйте: тот же лимит может задевать и настоящих посетителей. Не работает
431 Request Header Fields Too Large Заголовки, чаще всего cookie, слишком большие. Очистите cookie в браузере для проверки, затем увеличьте лимит размера заголовков в веб-сервере или прокси. Не работает
451 Unavailable For Legal Reasons Содержимое заблокировано по юридическим причинам. Часто это геоблокировка или решение суда. Если вы ожидаете блокировку, добавьте 451 в ожидаемые статусы монитора; иначе узнайте, кто установил правило. Не работает
500 Internal Server Error Сервер столкнулся с непредвиденной ошибкой при обработке запроса. Сначала прочитайте журналы ошибок приложения и веб-сервера. Если это началось после развёртывания, откатитесь. В WordPress отключайте плагины по одному. Не работает
501 Not Implemented Сервер не поддерживает запрошенный метод. Проверьте, что метод правильный и что сервер или прокси его поддерживает; попробуйте GET. Не работает
502 Bad Gateway Шлюз или прокси получил неверный ответ от сервера за ним. Процесс приложения за nginx, балансировщиком или CDN упал или перезапустился. Убедитесь, что служба приложения запущена, и прочитайте её журнал. Не работает
503 Service Unavailable Сервер перегружен или недоступен из-за обслуживания. Проверьте нагрузку, память и лимиты соединений. Если это плановое обслуживание, используйте окно обслуживания, чтобы оно не считалось простоем. Не работает
504 Gateway Timeout Шлюз или прокси не дождался ответа от сервера за ним. Приложение слишком медленное или зависло: медленные запросы, застрявший обработчик или заблокированный внешний API. Посмотрите время ответа и журнал медленных запросов. Не работает
505 HTTP Version Not Supported Сервер не поддерживает использованную версию HTTP. Встречается редко. Проверьте настройки протокола на прокси и сервере (HTTP/2, HTTP/3). Не работает
507 Insufficient Storage У сервера не хватает места, чтобы выполнить запрос. Диск или квота заполнены. Освободите место, затем выясните, что его занимает (журналы, резервные копии, загрузки). Не работает
508 Loop Detected Сервер обнаружил бесконечный цикл. Некоторые виртуальные хостинги также используют 508 для превышения лимитов ресурсов. На виртуальном хостинге учётная запись достигла лимита CPU или процессов: посмотрите трафик и медленные плагины. В остальных случаях ищите цикл перезаписи или прокси. Не работает
511 Network Authentication Required Сеть требует сначала войти, как на порталах авторизации в публичных сетях. Проверка идёт через портал авторизации или ограниченную сеть. Убедитесь, что монитор обращается к настоящему сайту. Не работает
499 Client Closed Request (nginx) nginx записывает его, когда клиент закрыл соединение до готовности ответа. Клиенту он не отправляется. Вы увидите его в журналах nginx, а не в мониторе. Много 499 значит, что приложение медленнее, чем готовы ждать посетители. Не работает
520 Web Server Returned an Unknown Error (Cloudflare) Cloudflare получил от вашего исходного сервера пустой, слишком большой или иначе неожиданный ответ. Проверьте журнал ошибок исходного сервера, размер заголовков ответа и не отбрасывает ли файрвол запросы Cloudflare. Не работает
521 Web Server Is Down (Cloudflare) Cloudflare не смог подключиться к вашему исходному серверу. Исходный сервер выключен, не слушает порт или блокирует диапазоны IP-адресов Cloudflare. Запустите службу и разрешите Cloudflare в файрволе. Не работает
522 Connection Timed Out (Cloudflare) Cloudflare дошёл до вашего исходного сервера, но соединение не завершилось вовремя. Исходный сервер перегружен или файрвол отбрасывает пакеты. Проверьте нагрузку, сеть и файрвол исходного сервера. Не работает
523 Origin Is Unreachable (Cloudflare) Cloudflare не находит маршрут к вашему исходному серверу. Проверьте DNS для адреса исходного сервера в Cloudflare, а также что IP-адрес исходного сервера верен и доступен. Не работает
524 A Timeout Occurred (Cloudflare) Исходный сервер принял соединение, но не ответил в пределах лимита времени Cloudflare. Медленный запрос: долгий скрипт, отчёт или экспорт. Ускорьте его, вынесите в фоновую задачу или отвечайте раньше. Не работает
525 SSL Handshake Failed (Cloudflare) Cloudflare не смог выполнить рукопожатие TLS с исходным сервером. Проверьте, что исходный сервер отдаёт HTTPS на порту 443 с рабочим сертификатом и совместимыми настройками TLS. Не работает
526 Invalid SSL Certificate (Cloudflare) Cloudflare не смог проверить сертификат исходного сервера в режиме Full (strict). Обновите или замените сертификат исходного сервера либо исправьте цепочку. Проверка SSL покажет, что отдаёт исходный сервер. Не работает

Узнайте в тот момент, когда сайт начнёт отдавать один из этих кодов. Tenium проверяет ваши страницы и оповещает, когда код ответа или содержимое страницы неверны. 30 мониторов бесплатно.

Начать бесплатно

Как монитор доступности оценивает код ответа

Монитор запрашивает URL и сравнивает код ответа с тем, что вы ему задали. В Tenium по умолчанию это 200-299, а редиректы выполняются, поэтому 301, который заканчивается на 200, считается «работает». Всё остальное, включая каждый 4xx и 5xx, — сбой, который подтверждается второй проверкой, прежде чем откроется инцидент.

Ожидаемые статусы можно изменить для каждого монитора: списком вида `200,204` или классом вида `2xx,3xx`. Делайте это осознанно, для закрытой страницы, которая справедливо отвечает 401, или для конечной точки, отвечающей 204. Не делайте этого, чтобы заглушить монитор, который вам о чём-то сообщает.

Коды, которые легко понять неправильно

Короткий список тех, что на практике вызывают больше всего путаницы:

  • 200 не означает, что страница правильная. Многие приложения возвращают 200 с сообщением об ошибке в теле, поэтому добавьте проверку ключевого слова для текста, который есть только на исправной странице.
  • 301 и 302 — оба редиректы, но только 301 говорит, что перенос постоянный. Укажите монитору конечный URL, чтобы каждая проверка была одним запросом.
  • 401 значит «кто вы?», а 403 — «я знаю, и нет». Монитор, получающий 403 на сайте, который открывается в вашем браузере, обычно заблокирован файрволом или плагином безопасности.
  • 502, 503 и 504 приходят от слоя перед приложением. 502 — неверный ответ, 503 — «недоступен или перегружен», 504 — «слишком медленно». Каждый указывает, где искать причину.
  • 429 — ограничение частоты запросов. Если его видит ваш монитор, то и настоящие посетители могут его видеть.

Как пользоваться таблицей

Введите код или слово для фильтрации либо выберите класс кнопками. В каждой строке сказано, что значит код и что попробовать в первую очередь, когда о нём сообщает монитор доступности. Коды 499 и 520-526 не входят в стандарт HTTP: их используют nginx и Cloudflare, и они встречаются в журналах и на страницах ошибок сайтов за этими инструментами.

Вопросы об инструменте

В чём разница между 502, 503 и 504?

502 Bad Gateway значит, что прокси получил неверный ответ от приложения за ним, часто потому, что приложение упало. 503 Service Unavailable значит, что сервер перегружен или на обслуживании. 504 Gateway Timeout значит, что приложение не ответило вовремя. Проверьте по порядку процесс, нагрузку и медленные запросы.

Должен ли монитор считать редирект 3xx признаком «работает»?

Редирект — нормальный ответ, но важно, чем он заканчивается. Tenium выполняет редиректы и оценивает итоговый ответ, поэтому цепочка, заканчивающаяся на 200, — «работает», а зацикливание или ошибка в конце — «не работает». Следите за конечным URL, где это возможно.

Почему монитор получает 403, если сайт открывается в моём браузере?

Файрвол, WAF или плагин безопасности блокирует IP-адрес или User-Agent монитора. Добавьте адреса проверяющих серверов со страницы IP-адресов проверок в белый список (allow-list), и монитор будет восприниматься как обычный посетитель.

Можно ли изменить, какие коды считаются «работает»?

Да. У каждого HTTP-монитора есть настройка ожидаемого статуса. Используйте список вида 200,204 или класс вида 2xx,3xx. По умолчанию это 200-299.