--- title: Коды ответа HTTP slug: Web/HTTP/Status tags: - HTTP - HTTP Response codes - HTTP response code - код ответа 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 and later
301 Moved Permanently

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

HTTP/0.9 and later
302 Found

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

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

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

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

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

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

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

HTTP/1.1 only
410 Gone

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

HTTP/1.1 only
411 Length Required

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

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

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

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

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