--- title: Коды ответа HTTP slug: Web/HTTP/Status tags: - HTTP - HTTP Response codes - HTTP response code - код ответа HTTP - коды HTTP - ошибки HTTP - HTTP-коды ответов translation_of: Web/HTTP/Status ---
{{HTTPSidebar}}

Код ответа (состояния) HTTP показывает, был ли успешно выполнен определённый HTTP запрос. Коды сгруппированы в 5 классов:

  1. Информационные 100 - 199
  2. Успешные 200 - 299
  3. Перенаправления 300 - 399
  4. Клиентские ошибки 400 - 499
  5. Серверные ошибки 500 - 599

Коды состояния определены в 10-ой секции RFC 2616. Обновленную спецификацию можно найти в RFC 7231 . 

Если вы получили код ответа (состояния), которого нет в данном списке, в таком случае он является не стандартизированным кодом ответа (состояния), вероятней всего он кастомный сервера.

Следующая таблица содержит список всех кодов и их значения:

Код ответа Название Описание Версия HTTP
Информационные
100 Continue "Продолжить". Этот промежуточный ответ указывает, что запрос успешно принят и клиент может продолжать присылать запросы либо проигнорировать этот ответ, если запрос был завершён. Только HTTP/1.1
101 Switching Protocol "Переключение протокола". Этот код присылается в ответ на запрос клиента, содержащий заголовок Upgrade:, и указывает, что сервер переключился на протокол, который был указан в заголовке. Эта возможность позволяет перейти на несовместимую версию протокола и обычно не используется. Только HTTP/1.1
102 Processing "В обработке". Этот код указывает, что сервер получил запрос и обрабатывает его, но обработка ещё не завершена. Только HTTP/1.1
103 Early Hints "Ранние подсказки". В ответе сообщаются ресурсы, которые могут быть загружены заранее, пока сервер будет подготавливать основной ответ. RFC 8297 (Experimental). Только HTTP/1.1
Успешные
200

OK

"Успешно". Запрос успешно обработан. Что значит "успешно", зависит от метода HTTP, который был запрошен:
  • GET: "ПОЛУЧИТЬ". Запрошенный ресурс был найден и передан в теле ответа.
  • HEAD: "ЗАГОЛОВОК". Заголовки переданы в ответе.
  • POST: "ПОСЫЛКА". Ресурс, описывающий результат действия сервера на запрос, передан в теле ответа.
  • TRACE: "ОТСЛЕЖИВАТЬ". Тело ответа содержит тело запроса полученного сервером.
HTTP/0.9 и выше
201 Created "Создано". Запрос успешно выполнен и в результате был создан ресурс. Этот код обычно присылается в ответ на запрос PUT "ПОМЕСТИТЬ". HTTP/0.9 и выше
202 Accepted "Принято". Запрос принят, но ещё не обработан. Не поддерживаемо, т.е., нет способа с помощью HTTP отправить асинхронный ответ позже, который будет показывать итог обработки запроса. Это предназначено для случаев, когда запрос обрабатывается другим процессом или сервером, либо для пакетной обработки. HTTP/0.9 и выше
203 Non-Authoritative Information "Информация не авторитетна". Этот код ответа означает, что информация, которая возвращена, была предоставлена не от исходного сервера, а из какого-нибудь другого источника. Во всех остальных ситуациях более предпочтителен код ответа 200 OK. HTTP/0.9 и 1.1
204 No Content "Нет содержимого". Нет содержимого для ответа на запрос, но заголовки ответа, которые могут быть полезны, присылаются. Клиент может использовать их для обновления кешированных заголовков полученных ранее для этого ресурса. HTTP/0.9 и выше
205 Reset Content "Сбросить содержимое". Этот код присылается, когда запрос обработан, чтобы сообщить клиенту, что необходимо сбросить отображение документа, который прислал этот запрос. Только HTTP/1.1
206 Partial Content "Частичное содержимое". Этот код ответа используется, когда клиент присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в несколько потоков. Только HTTP/1.1
Сообщения о перенаправлениях
300 Multiple Choice

"Множественный выбор". Этот код ответа присылается, когда запрос имеет более чем один из возможных ответов. И User-agent или пользователь должен выбрать один из ответов. Не существует стандартизированного способа выбора одного из полученных ответов.

HTTP/1.0 и выше
301 Moved Permanently

"Перемещён на постоянной основе". Этот код ответа значит, что URI запрашиваемого ресурса был изменён. Возможно, новый URI будет предоставлен в ответе.

HTTP/0.9 и выше
302 Found

"Найдено". Этот код ответа значит, что запрошенный ресурс временно изменён. Новые изменения в URI могут быть доступны в будущем. Таким образом, этот URI, должен быть использован клиентом в будущих запросах.

HTTP/0.9 и выше
303 See Other "Просмотр других ресурсов". Этот код ответа присылается, чтобы направлять клиента для получения запрашиваемого ресурса в другой URI с запросом GET. HTTP/0.9 и 1.1
304 Not Modified "Не модифицировано". Используется для кеширования. Это код ответа значит, что запрошенный ресурс не был изменён. Таким образом, клиент может продолжать использовать кешированную версию ответа. HTTP/0.9 и выше
305 Use Proxy "Использовать прокси". Это означает, что запрошенный ресурс должен быть доступен через прокси. Этот код ответа в основном не поддерживается из соображений безопасности. Только HTTP/1.1
306 Switch Proxy Больше не использовать. Изначально подразумевалось, что " последующие запросы должны использовать указанный прокси." Только HTTP/1.1
307 Temporary Redirect "Временное перенаправление". Сервер отправил этот ответ, чтобы клиент получил запрошенный ресурс на другой URL-адрес с тем же методом, который использовал предыдущий запрос. Данный код имеет ту же семантику, что код ответа 302 Found, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен использоваться POST. Только HTTP/1.1
308 Permanent Redirect

"Перенаправление на постоянной основе". Это означает, что ресурс теперь постоянно находится в другом URI, указанном в заголовке Location: HTTP Response. Данный код ответа имеет ту же семантику, что и код ответа 301 Moved Permanently, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если POST использовался в первом запросе, POST должен использоваться и во втором запросе.

Примечание: Это экспериментальный код ответа, Спецификация которого в настоящее время находится в черновом виде.
draft-reschke-http-status-308
Клиентские
400 Bad Request "Плохой запрос". Этот ответ означает, что сервер не понимает запрос из-за неверного синтаксиса.  HTTP/0.9 и выше
401 Unauthorized "Неавторизованно". Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна.  HTTP/0.9 и выше
402 Payment Required "Необходима оплата". Этот код ответа зарезервирован для будущего использования. Первоначальная цель для создания этого когда была в использовании его для цифровых платёжных систем(на данный момент не используется). HTTP/0.9 и 1.1
403 Forbidden "Запрещено". У клиента нет прав доступа к содержимому, поэтому сервер отказывается дать надлежащий ответ.  HTTP/0.9 и выше
404 Not Found "Не найден". Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверно, самый известный из-за частоты его появления в вебе.  HTTP/0.9 и выше
405 Method Not Allowed "Метод не разрешён". Сервер знает о запрашиваемом методе, но он был деактивирован и не может быть использован. Два обязательных метода,  GET и HEAD,  никогда не должны быть деактивированы и не должны возвращать этот код ошибки. Только HTTP/1.1
406 Not Acceptable

Этот ответ отсылается, когда веб сервер после выполнения server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent.

Только HTTP/1.1
407 Proxy Authentication Required Этот код ответа аналогичен коду 401, только аутентификация требуется для прокси сервера. Только HTTP/1.1
408 Request Timeout Ответ с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соединение. Этот метод используется все чаще с тех пор, как некоторые браузеры, вроде Chrome и IE9, стали использовать HTTP механизмы предварительного соединения для ускорения сёрфинга  (смотрите {{ bug(634278) }}, будущей реализации этого механизма в Firefox). Также учитывайте, что некоторые серверы прерывают соединения не отправляя подобных сообщений. Только HTTP/1.1
409 Conflict

Этот ответ отсылается, когда запрос конфликтует с текущим состоянием сервера.

Только HTTP/1.1
410 Gone

Этот ответ отсылается, когда запрашиваемый контент удалён с сервера.

Только HTTP/1.1
411 Length Required

Запрос отклонён, потому что сервер требует указание заголовка Content-Length, но он не указан.

Только HTTP/1.1
412 Precondition Failed Клиент указал в своих заголовках условия, которые сервер не может выполнить Только HTTP/1.1
413 Request Entity Too Large

Размер запроса превышает лимит, объявленный сервером. Сервер может закрыть соединение, вернув заголовок Retry-After

Только HTTP/1.1
414 Request-URI Too Long URI запрашиваемый клиентом слишком длинный для того, чтобы сервер смог его обработать Только HTTP/1.1
415 Unsupported Media Type Медиа формат запрашиваемых данных не поддерживается сервером, поэтому запрос отклонён Только HTTP/1.1
416 Requested Range Not Satisfiable Диапазон указанный заголовком запроса Range не может быть выполнен; возможно, он выходит за пределы переданного URI Только HTTP/1.1
417 Expectation Failed Этот код ответа означает, что ожидание, полученное из заголовка запроса Expect, не может быть выполнено сервером. Только HTTP/1.1
Серверные
500 Internal Server Error "Внутренняя ошибка сервера". Сервер столкнулся с ситуацией, которую он не знает как обработать.  HTTP/0.9 и выше
501 Not Implemented "Не выполнено". Метод запроса не поддерживается сервером и не может быть обработан. Единственные методы, которые сервера должны поддерживать (и, соответственно, не должны возвращать этот код) -  GET и HEAD. HTTP/0.9 и выше
502 Bad Gateway "Плохой шлюз". Эта ошибка означает что сервер, во время работы в качестве шлюза для получения ответа, нужного для обработки запроса, получил недействительный (недопустимый) ответ.  HTTP/0.9 и выше
503 Service Unavailable "Сервис недоступен". Сервер не готов обрабатывать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом удобная для пользователей(user-friendly) страница должна отправлять объяснение проблемы.  Этот ответ должен использоваться для временных условий и Retry-After: HTTP-заголовок должен, если возможно, содержать  предполагаемое время до восстановления сервиса. Веб-мастер также должен позаботиться о заголовках, связанных с кешем, которые отправляются вместе с этим ответом, так как эти ответы, связанные с временными условиями, обычно не должны кешироваться.  HTTP/0.9 и выше
504 Gateway Timeout Этот ответ об ошибке предоставляется, когда сервер действует как шлюз и не может получить ответ вовремя. Только HTTP/1.1
505 HTTP Version Not Supported "HTTP-версия не поддерживается". HTTP-версия, используемая в запросе, не поддерживается сервером. Только HTTP/1.1

{{ languages( { "zh-cn": "zh-cn/HTTP/HTTP_response_codes", "ja": "ja/HTTP/HTTP_response_codes"} ) }}