Содержание статьи
- /01 Коды состояния 2хх
- Код ответа 200 ОК
- Код ответа 201 Created (Создан)
- Код ответа 202 Accepted (Принят)
- Код ответа 203 Non-Authoritative Information (Неавторитетная информация)
- Код ответа 204 No Content (Нет контента)
- Код ответа 205 Reset Content (Сброс контента)
- Код ответа 206 Partial Content (Частичный сброс)
- Код ответа 207 «Multi-status»
- Код ответа 208 Already reported (Уже сообщено)
- Код ответа 225
- /02 Подведем итоги

HTTP-код состояния (ответа) или, как его еще часто называют, «статус-код» – это небольшое трехзначное число, которое передает информацию о том, каким образом обработан запрос пользователя сервером. Он помогает определить, успешно ли сервер обработал запрос или возникли проблемы. Каждый статус-код имеет свою интерпретацию и позволяет отразить конкретное состояние ответа сервера на запрос.
Путем анализа статус-кодов можно быстро оценить, что произошло с запросом, и нужно ли принимать дополнительные меры. Они являются важным инструментом для веб-разработчиков, помогая выявить и устранить проблемы с веб-сайтами и веб-приложениями.
Также вместе с трехзначным кодом, всегда применяется фраза-идентификатор, которая является некой подсказкой о природе каждого отдельного ответа. Все коды ответа делятся на классы. Первая цифра в коде указывает на класс состояния, а последующие две цифры добавляют уточнения.
- 1xx: Информационные коды, отражающие процесс передачи запроса.
- 2xx: Коды успешного выполнения, подтверждающие, что сервер успешно принял и обработал запрос.
- 3xx: Коды перенаправления используются, когда запрашиваемый ресурс перемещен, и требуется повторный запрос с новым URI.
- 4xx: Коды ошибок со стороны клиента, указывают на проблему с запросом.
- 5xx: Коды ошибок со стороны сервера, сообщают о проблеме в обработке запроса на сервере.
Каждый класс содержит множество статус-кодов, где каждый код имеет свое уникальное значение. На данный момент существует более 60 статус-кодов. На практике обычно пользователи сталкиваются лишь с небольшой их частью. При запуске сайта изучение этого списка поможет быстро определить ошибку и понять, с чем нужно работать.
Как узнать код ответа?
Когда вы открываете веб-страницу, ваш браузер запрашивает данные с сервера для загрузки контента. Иногда страница может не загружаться полностью, или возникают проблемы с отдельными элементами. В таких случаях полезно проверить коды ответа сервера, чтобы понять, что происходит в фоновом режиме.
Для того, чтобы увидеть эти коды в браузере, существует несколько способов.
Один из самых простых – это воспользоваться встроенными инструментами разработчика в браузере. В популярных браузерах, таких как Google Chrome или Mozilla Firefox, есть эти инструменты, которые позволяют анализировать веб-страницы. Для просмотра кодов ответа сервера, откройте инструменты разработчика, нажав Fn+F12 и перейдите на вкладку «Сеть» (Network). Здесь будет показан список всех запросов, которые отправил ваш браузер, вместе с кодами состояния для каждого. Если запрос не удался, вы сможете увидеть код ответа сервера, который поможет понять причину проблемы.
Еще один способ – разные программы и сервисы для выгрузки сайтов. Практически в каждом из них присутствует опция определения статус-кода. В своей практике мы часто используем Screaming frog:
Коды состояния 2хх
Группа кодов ответа 2xx указывает на успешное выполнение запрошенной клиентом операции. Каждый код в этой категории отражает успешное завершение запроса, возможные дополнительные действия для полного выполнения или определённые нюансы процесса завершения. Иными словами, при нормальной работе сервера любой удачно обработанный запрос клиента завершится одним из ответов из этой группы.
Сюда входят следующие значения:
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 225
Эту группу ответов часто называют «ошибка 2хх», но такое определение крайне неуместно, т.к. по своей природе ошибками они не являются.
В этой статье остановимся на каждом из них: в каких случаях могут возникнуть и за что отвечают.
Код ответа 200 ОК
Самый известный код состояния. Код состояния 200 отображается пользователю в тех случаях, когда сайт быстро загружается и корректно показывает нужную информацию в ответ на действие пользователя.
Проще говоря, код 200 свидетельствует о том, что запрос был успешно выполнен: данные переданы, обработаны и никаких ошибок не возникло. Если же произошли сбои, в логах вебмастера будет отображён другой код ответа. Результат запроса может быть из группы кодов 2xx или другой, в зависимости от состояния оборудования, сети и других факторов.
Как правило, пользователи не видят код 200 напрямую, он важен для диагностики, когда вебмастер проверяет работу сайта.
Код ответа 201 Created (Создан)
Этот тип ответа означает, что при запросе был принят и в результате был создан новый ресурс. Например, запрос пользователя привёл к созданию новой веб-страницы, которая ранее не существовала. Сервер настроен таким образом, что должен создать этот ресурс до отправки кода 201. Если же документ не удается создать вовремя, сервер отправляет альтернативный код 202, который означает, что запрос принят, но еще не завершён.
Как пример, можно привести запрос с GET-параметром, который создаст новую запись в логе, отображающую время, дату и выводящий текст запроса.
Параллельно с этим ответом, сервер генерирует параметр location, который демонстрирует местоположения данных.
Код ответа 202 Accepted (Принят)
Если вы наблюдаете 202 код состояния, это значит, что запрос принят системой в обработку, но сама процедура еще не завершилась. Такой тип ответа не обязывает пользователя к принятию каких-то действий, скорее просто ставит в известность. Статус не может отправиться повторно из-за асинхронности самой операции.
При корректной настройке во время срабатывания кода ответа 202, должен возвращаться статус выполнения запроса или прикладывается ссылка на источник, где пользователь сможет наблюдать текущий статус выполнения операции или удостовериться в ее выполнении.
Код ответа 203 Non-Authoritative Information (Неавторитетная информация)
Данный код состояния от хоста передается в случаях, когда клиент подключается к сети через прокси-сервер и пытается отправить запрос на веб-хост. Он сигнализирует о том, что данные были изменены из-за использования прокси и теперь считаются недостоверными в контексте синхронизации между клиентом и хостом. Проще говоря, код 203 появляется, когда прокси-сервер изменяет успешный ответ из-за своей конфигурации, нарушая целостность и достоверность данных.
Код ответа 203 особенно важен для корректной работы веб-приложений, так как сервер сообщает клиенту, что данные были изменены и не должны сохраняться в кэше. Это необходимо для предотвращения конфликтов при использовании устаревших данных. В таких ситуациях кэш должен быть обновлен после устранения прокси-сервера из конфигурации, чтобы избежать несоответствий.
Код ответа 204 No Content (Нет контента)
Этот код представляет собой сигнал от сервера, который говорит о том, что запрос получен и понят. Однако он не содержит данных, которые могли бы быть переданы пользователю. Обычно такой код применяется для активации скриптов без изменения веб-страницы. Он должен быть без содержательного текста и размещен в начале кода, доступном сразу после заголовка.
Когда следует использовать этот код? Он применяется преимущественно в случаях, когда требуется выполнить какие-либо действия без необходимости обновления ресурса (например, страницы).
Код ответа 205 Reset Content (Сброс контента)
Этот код указывает на успешную обработку запроса сервером без возврата контента. В отличие от кода 204, данный ответ предполагает обновление документа.
Обычно такой код применяется в ситуациях, когда пользователь заполняет форму, а сервер после этого отправляет запрос браузеру на очистку этой формы. Он напоминает код 204, однако предполагает, что пользователь должен сбросить документ после завершения обработки. Например, после проверки верности данных требуется очистить HTML-форму.
Код ответа 206 Partial Content (Частичный сброс)
Сервер возвращает лишь участок контента, соответствующий заголовку, отправленному клиентом. Обычно это связано с использованием продвинутых средств кэширования. Это происходит в случаях, когда пользователь хочет получить только определенную часть содержимого страницы, а сервер предоставляет данные только для этой части.
В основном, этот код используется в случаях запроса If-Range, который применяется в мощных кеш-проверяющих устройствах. Запрос также должен содержать заголовки диапазонов, которые определяют параметры для возвращаемой информации.
Код ответа 207 «Multi-status»
Это уведомление касается случаев, когда сервер принял запрос пользователя, но он вызвал несколько реакций от сервера, которые были объединены в один ответ. Код состояния 207 появляется в тех случаях, когда сервер отвечает на завершение пакетного запроса, обнаруживая несколько источников или записей данных для представления в качестве ответа, а также когда выполнение запроса соответствует условиям для нескольких различных ответов.
По сути, код ответа 207 представляет собой механизм, который позволяет серверу объединить несколько кодов ответа в одно сообщение. Поэтому в случае необходимости клиент должен вручную проверить все включенные закодированные сообщения.
Код ответа 208 Already reported (Уже сообщено)
Подобный тип ответа (как и предыдущий) крайне редко встречается на уровне пользовательского опыта.
Сервер информирует клиента о том, что определенная информация уже была передана ранее и не требует повторной передачи. Это полезно для предотвращения избыточной передачи одних и тех же данных, особенно при наличии множества взаимосвязанных ресурсов на сервере. Клиент может использовать этот ответ для оптимизации своих запросов и избежания лишних повторных передач данных.
Код ответа 225
Этот статус не является частью протокола HTTP. Однако закодированное уведомление с этим статусом представляет собой внутреннюю реакцию FTP-хостов. Он указывает на случаи, когда соединение между клиентом и хостом установлено и стабильно, но в настоящий момент не передается никаких данных. Проще говоря, «соединение установлено, но данные не передаются» — это прямое объяснение этого уведомления.
Статус 225 информирует о том, что на обеих сторонах нет проблем и все готово для загрузки или выгрузки данных на сторону хоста или клиента соответственно. Таким образом, ответ 225 для протокола FTP практически означает то же самое, что и ответ 200 «OK» для протокола HTTP. Увидев это сообщение, пользователь может начать управлять данными на файловом хосте без проблем и в дальнейшем получит другие закодированные сообщения.
Подведем итоги
Коды ответов 2xx свидетельствуют об успешном выполнении запросов. Эти коды сообщают, что сервер успешно обработал запрос клиента, будь то загрузка страницы, создание нового ресурса или получение данных. Они являются важным показателем корректной работы веб-сайта и нормального взаимодействия с сервером, обеспечивая стабильность и положительный пользовательский опыт.





