Разработчика

Справочник HTTP

Найдите любой код состояния HTTP — 200, 404, 500 и всё между ними — с простым объяснением, что он означает и когда серверы его возвращают.

Этот инструмент вам помог?

Что такое Справочник HTTP?

Коды состояния HTTP — это трёхзначные числа, которые веб-сервер отправляет в каждом ответе, сообщая клиенту (браузеру, приложению или потребителю API), успешен ли запрос, требует ли перенаправления или завершился ошибкой — и почему. Они стандартизированы организацией IETF и одинаково используются во всех веб-серверах, браузерах и языках программирования, что делает их одним из самых универсальных справочников для отладки в разработке программного обеспечения. Этот инструмент поиска охватывает наиболее часто встречающиеся коды из всех пяти категорий — информационные (1xx), успех (2xx), перенаправления (3xx), ошибки клиента (4xx) и ошибки сервера (5xx) — с простыми объяснениями, что каждый из них означает на практике, а не только формальным определением из RFC.

Когда использовать этот калькулятор

  • Отладка интеграции API, когда запрос не выполняется и нужно понять, что на самом деле означает код состояния
  • Решение, какой код состояния HTTP возвращать из собственного API для конкретной ошибки
  • Преподавание или изучение основ HTTP на курсе или в буткемпе по веб-разработке
  • Написание middleware обработки ошибок, которому нужно различать разные случаи 4xx и 5xx
  • Выяснение, почему перенаправление не работает, путём проверки, был ли возвращён 301 или 302
  • Устранение проблем с CORS, когда браузер показывает сетевую ошибку, а сервер вернул 200

Шаги:

  1. Введите код состояния (например, 404) или ключевое слово (например, "forbidden") в поле поиска.
  2. Отфильтруйте по категории с помощью кнопок 1xx-5xx, если хотите просмотреть конкретный диапазон.
  3. Прочитайте простое описание того, что означает код и когда его обычно возвращают.
  4. Используйте это как краткий справочник при отладке ответов API или создании обработки ошибок.

Формула

1xx: Информационные — запрос получен, процесс продолжается 2xx: Успех — запрос успешно получен и принят 3xx: Перенаправление — требуются дальнейшие действия для завершения запроса 4xx: Ошибка клиента — запрос содержит некорректный синтаксис или не может быть выполнен 5xx: Ошибка сервера — сервер не смог обработать корректный запрос

Варианты использования

  • Быстро понять незнакомый код состояния, возвращаемый API, с которым вы интегрируетесь
  • Решить, какой код состояния возвращать из собственного API для той или иной ошибки
  • Отладить, почему запрос не выполняется, проверив, что на самом деле означает конкретный код
  • Преподавать или изучать основы HTTP на курсе по веб-разработке
  • Писать точную логику обработки ошибок, различающую разные случаи 4xx и 5xx

Основные преимущества

  • Все часто используемые коды состояния в одном поисковом справочнике
  • Простые объяснения, а не только формальная терминология RFC
  • Мгновенная фильтрация по категории (от 1xx до 5xx)
  • Бесплатно, быстро, без регистрации

Советы профессионалов

  • Резервируйте коды 5xx строго для сбоев на стороне сервера — никогда не используйте их для сигнализации об ошибках ввода клиента
  • Используйте 429 с заголовком Retry-After при ограничении частоты запросов, чтобы корректные клиенты знали, когда повторить
  • Предпочитайте 404 вместо общей страницы ошибки, когда ресурс действительно не существует — это лучше и для пользователей, и для поисковых систем
  • При проектировании API выбирайте конкретные коды 4xx (422, 409, 400), а не сводите всё к общему 400

Распространенные ошибки

  • Возврат 200 OK для запроса, который на самом деле завершился ошибкой, скрывая ошибки от систем мониторинга
  • Путаница между 401 (не аутентифицирован) и 403 (аутентифицирован, но нет прав)
  • Использование 302 для перенаправления, которое должно быть постоянным (301), что вредит SEO
  • Одинаковая обработка всех ошибок 4xx и 5xx в клиентской логике вместо ветвления по конкретному коду

Объяснение ключевых терминов

Строка состояния: Первая строка ответа HTTP, содержащая код состояния и краткую поясняющую фразу
Идемпотентность: Свойство некоторых методов HTTP, при котором повторение одного и того же запроса даёт тот же эффект, что и его однократное выполнение
Цепочка перенаправлений: Последовательность нескольких перенаправлений, которые браузер проходит, прежде чем достичь конечного ресурса
Ограничение частоты запросов: Ограничение количества запросов, которые клиент может сделать за определённый промежуток времени, часто обозначается кодом 429

Связанные понятия

Пример

Поиск "429" возвращает "Too Many Requests" — код, который API возвращают, когда вы превысили лимит запросов, сообщая вам снизить темп и повторить попытку после паузы.

Интерпретация результатов

Коды состояния HTTP группируются в пять классов по первой цифре. 1xx носят информационный характер и редко встречаются в коде приложений. 2xx подтверждают успех — 200 OK самый распространённый, но 201 Created и 204 No Content также часты в REST API. 3xx отвечают за перенаправления, из которых наиболее важны 301 (постоянное) и 302 (временное). Ошибки 4xx указывают на проблему с запросом клиента. Наиболее частые из них: 400 Bad Request (некорректный синтаксис), 401 Unauthorized (не аутентифицирован), 403 Forbidden (нет прав), 404 Not Found (ресурс не существует) и 429 Too Many Requests (превышен лимит запросов). Правильное использование конкретных кодов 4xx делает ваш API гораздо проще в отладке, чем возврат общего 400 для всего. Ошибки 5xx означают, что сбой произошёл на сервере. 500 — общая внутренняя ошибка, 502 Bad Gateway указывает на проблему с вышестоящим сервером, а 503 Service Unavailable обычно означает, что сервер перегружен или отключён на обслуживание. При отладке ошибок 5xx проверяйте журналы сервера, а не ответ на стороне клиента, поскольку код состояния сам по себе редко раскрывает первопричину.

Часто задаваемые вопросы

Что означают разные диапазоны кодов состояния HTTP?
Коды 1xx носят информационный характер, 2xx означают успех, 3xx указывают на перенаправление, 4xx означают, что клиент допустил ошибку (например, запросил несуществующую страницу), а 5xx — что сам сервер не смог обработать корректный запрос.
В чём разница между 401 и 403?
401 Unauthorized означает, что вы не прошли аутентификацию (или ваши учётные данные недействительны) — сервер не знает, кто вы. 403 Forbidden означает, что сервер знает, кто вы, но у вас нет разрешения на доступ к ресурсу.
Почему иногда я вижу 200 для страницы, которая явно не загрузилась?
Обычно это означает, что сервер вернул корректный ответ HTTP (отсюда 200 OK), но содержимое ответа на уровне приложения описывает ошибку — распространённый шаблон в API, которые помещают сведения об ошибке в тело ответа, а не в код состояния.
В чём разница между перенаправлениями 301 и 302?
301 Moved Permanently сообщает браузерам и поисковым системам обновить свои записи и впредь использовать новый URL. 302 Found означает временное перенаправление — исходный URL следует по-прежнему использовать для будущих запросов.
Что означает 429 Too Many Requests?
429 означает, что клиент отправил слишком много запросов за определённый период времени. Сервер может включить заголовок Retry-After, сообщающий клиенту, когда повторить попытку. При получении этого кода применяйте экспоненциальную задержку между повторами.
Что такое 503 Service Unavailable?
503 означает, что сервер временно не может обработать запрос, обычно из-за перегрузки или технического обслуживания. В отличие от 500, предполагается, что эта ситуация будет разрешена. Сервер может включить заголовок Retry-After.
Что означает 418 I'm a Teapot?
418 был определён как первоапрельская шутка в RFC 2324 (1998). Это настоящий код состояния, хотя на практике используется редко. Некоторые серверы возвращают его как шутливый ответ на некорректные запросы.
Что такое 404 Not Found?
404 означает, что сервер не может найти запрошенный ресурс. Это самая распространённая ошибка клиента. Она может указывать на битую ссылку, неверно набранный URL или ресурс, который был перемещён или удалён.
Какое отношение CORS имеет к кодам состояния?
Предварительные запросы CORS (Cross-Origin Resource Sharing) в случае успеха возвращают 204 No Content. Если сервер не отвечает с правильными заголовками CORS, браузер блокирует ответ, даже если код состояния 200, и в консоли это выглядит как сетевая ошибка.
Как найти код состояния?
Введите числовой код (например, 404) или ключевое слово (например, 'forbidden' или 'timeout') в поле поиска. Вы также можете отфильтровать по категории с помощью кнопок 1xx–5xx, чтобы просмотреть конкретный диапазон.
Что такое ответ 204 No Content?
204 означает, что запрос выполнен успешно, но возвращать нечего. Он часто используется после успешного запроса DELETE, для ответов на предварительные запросы CORS или когда API принимает данные без возврата тела ответа.

Откройте больше инструментов

Свежая подборка из всей нашей библиотеки инструментов.