Http коды 4xx: Справочник по кодам статуса HTTP

Содержание

Справочник по кодам статуса HTTP

400Неверный запрос/Bad Request

Запрос не может быть понят сервером из-за некорректного синтаксиса.

401Неавторизованный запрос/Unauthorized

Для доступа к документу необходимо вводить пароль или быть зарегистрированным пользователем.

402Необходима оплата за запрос/Payment Required

Внутренняя ошибка или ошибка конфигурации сервера.

403Доступ к ресурсу запрещен/Forbidden

Доступ к документу запрещен. Если вы хотите, чтобы страница индексировалась, необходимо разрешить доступ к ней.

404Ресурс не найден/Not Found

Документ не существует. Если вы удалили какой-то раздел сайта, можно с помощью robots.txt запретить роботу обращаться к нему. Если такой страницы на сайте никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш сайт.

405Недопустимый метод/Method Not Allowed

Метод, определенный в строке запроса (Request-Line), не дозволено применять для указанного ресурса, поэтому робот не смог его проиндексировать.

406Неприемлемый запрос/Not Acceptable

Нужный документ существует, но не в том формате (язык или кодировка не поддерживаются роботом).

407Требуется идентификация прокси, файервола/Proxy Authentication Required

Необходима регистрация на прокси-сервере.

408Время запроса истекло/Request Timeout

Сайт не передал полный запрос в течение установленного времени и робот разорвал соединение.

409Конфликт/Conflict

Запрос конфликтует с другим запросом или с конфигурацией сервера.

410Ресурс недоступен/Gone

Затребованный ресурс был окончательно удален с сайта.

411Необходимо указать длину/Length Required

Сервер отказывается принимать запрос без определенного заголовка Content-Length. Поправьте заголовки на своем сервере;— тогда в следующий раз робот сможет проиндексировать страницу.

412Сбой при обработке предварительного условия/Precondition Failed

При проверке на сервере одного или более полей заголовка запроса обнаружено несоответствие (сбой или ошибка при обработке предварительного условия).

413Тело запроса превышает допустимый размер/Request Entity Too Large

Сервер отказывается обрабатывать запрос потому, что размер запроса больше того, что может обработать сервер.

414Недопустимая длина URI запроса/Request-URI Too Long

Сервер отказывается обслуживать запрос, потому что запрашиваемый роботом URI (Request-URI) длиннее, чем сервер может интерпретировать.

415Неподдерживаемый MIME тип/Unsupported Media Type

Сервер отказывается обрабатывать запрос, потому что тело запроса имеет неподдерживаемый формат.

416Диапазон не может быть обработан/Requested Range Not Satisfiable

Сервер отказывается обрабатывать запрос, потому что значение поля Range в заголовке запроса указывает на недопустимый диапазон байтов.

417Сбой при ожидании/Expectation Failed

Сервер отказывается обрабатывать запрос, потому что значение поля Expect в заголовке запроса не соответствует ожиданиям.

422Необрабатываемый элемент/Unprocessable Entity

Сервер не в состоянии обработать один (или более) элемент запроса.

423Заблокировано/Locked

Сервер отказывается обработать запрос, так как один из требуемых ресурсов заблокирован.

424Неверная зависимость/Failed Dependency

Сервер отказывается обработать запрос, так как один из зависимых ресурсов заблокирован.

426Требуется обновление/Upgrade Required

Сервер запросил апгрейд соединения до SSL, но SSL не поддерживается клиентом.

429Слишком много запросов/Too Many Requests

Отправлено слишком много запросов за короткое время. Это может указывать, например, на попытку DDoS-атаки. Ответ может сопровождаться заголовком Retry-After, который указывает, через какое время можно повторить запрос. Яндекс не учитывает этот заголовок.

Коды ответа HTTP — HTTP

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

OK

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

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

HTTP/1.0 и выше
301Moved Permanently

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

HTTP/0.9 и выше
302Found

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

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

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

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

Примечание: Это экспериментальный код ответа, Спецификация которого в настоящее время находится в черновом виде.

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

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

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

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

Только HTTP/1.1
410Gone

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

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

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

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

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

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

Коды состояний HTTP

Данная страница основана на информации о кодах состояний HTTP. Оригинальными источниками являются ietf.org и Wikipedia. Кликните по заголовку категории или коду состояния для получения подробной информации.

В этот класс выделены коды, информирующие о процессе передачи. Это обычно предварительный ответ, состоящий только из Status-Line и опциональных заголовков, и завершается пустой строкой. Нет обязательных заголовков для этого класса кодов состояния. Из-за того, что стандарт протокола HTTP/1.0 не определял никаких 1xx кодов состояния, серверы НЕ ДОЛЖНЫ посылать 1xx ответы HTTP/1.0 клиентам, за исключением экспериментальных условий.

Клиент должен быть готов принять один или несколько 1xx ответов статуса до завершения передачи, даже если клиент не ожидает статуса 100 (Продолжить). Неожиданные 1xx ответы могут быть проигнорированы агентом пользователя.

Прокси должен направить 1xx ответы, если соединение между прокси-сервером и клиентом было закрыто, или если прокси-сервер сам просил 1xx ответ. (Например, если прокси-сервер добавляет «Expect: 100-continue» поле, когда он перенаправляет запрос, то нужно отправить соответствующий 100 (Continue) код ответа).

Wikipedia

В этот класс выделены коды, информирующие о процессе передачи. При работе через протокол HTTP версии 1.0 сообщения с такими кодами должны игнорироваться. В версии 1.1 клиент должен быть готов принять этот класс сообщений как обычный ответ, но серверу отправлять что-либо не нужно. Сами сообщения от сервера содержат только стартовую строку ответа и, если требуется, несколько специфичных для ответа полей заголовка. Прокси-сервера подобные сообщения должны отправлять дальше от сервера к клиенту.

100: Continue

Клиент должен продолжать свой Запрос. Этот промежуточный ответ используется для сообщения клиенту о том, что начальная часть запроса была получена и ещё не была отвергнута сервером. Клиенту СЛЕДУЕТ продолжить посылку оставшихся данных запроса или, если запрос уже был выполнен, игнорировать этот ответ. Сервер ДОЛЖЕН послать заключительный ответ после того, как запрос был завершен. См. раздел 8.2.3 для детального обсуждения использования и обработки этого кода состояния.

Wikipedia

Сервер удовлетворён начальными сведениями о запросе, клиент может продолжать пересылать заголовки. Появился в HTTP/1.1.

101: Switching Protocols

Сервер понимает и готов выполнить запрос клиента через поле заголовка сообщения Upgrade (раздел 14.42) об изменении протокола приложения, используемого в этом соединении. Сервер переключит протоколы на те, которые определены в поле заголовка Upgrade ответа сразу после пустой строки, завершающей ответ 101.

Протокол СЛЕДУЕТ переключать только тогда, когда это выгодно. Например, переключение на более новую версию HTTP выгодно по сравнению со старыми версиями, а переключение на синхронный протокол реального времени может быть выгодным при доставке ресурсов, которые используют такие функции.

Wikipedia

Сервер предлагает перейти на более подходящий для указанного ресурса протокол; список предлагаемых протоколов сервер обязательно указывает в поле заголовка Upgrade. Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола. Появился в HTTP/1.1.

102: Processing (WebDAV)

Этот промежуточный ответ используется для информирования клиента о том, что сервер принял на себя полный запрос, но ещё не завершил его. Этот статус код должен быть послан только когда сервер имеет разумные основания ожидать, что запрос займёт значительное время. В качестве ориентира, если метод занимает больше времени, чем на 20 секунд (разумное, но произвольное значение) для обработки сервер должен вернуть 102 (Processing) ответ. Сервер ДОЛЖЕН послать заключительный ответ после того, как запрос был завершен.

Методы потенциально могут занять длительный период времени для процесса, особенно если они поддерживают заголовок Depth. В таких случаях клиент может прервать соединение по тайм-ауту во время ожидания ответа. Чтобы предотвратить это, сервер может вернуть 102 (Processing) код состояния, указывая клиенту, что сервер всё ещё обрабатывается методом.

Wikipedia

Запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме. Появился в WebDAV.

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

Wikipedia

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

* 200: OK

Запрос выполнен успешно. Информация, возвращаемая с ответом зависит от метода, используемого в запросе, например:

  • GET Получить объект, соответствующий запрошенному ресурсу в ответ;
  • HEAD Поля заголовков, соответствующие запрошенному ресурсу отправляются в ответ без какого-либо тела сообщения;
  • POST Созданный объект или иной результат действия;
  • TRACE Объект, содержащий сообщение запроса, полученное сервером.

Wikipedia

Стандартный ответ для запросов по HTTP.

Основной код ответа. Обычно используется для того, чтобы показать успешность выполненной операции.

* 201: Created

Запрос был выполнен, и в результате был создан новый ресурс. На вновь созданный ресурс можно ссылаться с помощью URI, возвращаемого в сущности ответа, с наиболее конкретным URI для ресурса, заданным полем заголовка Location. В ответ СЛЕДУЕТ включать объект, содержащий список характеристик ресурса и местоположения, из которых пользователь или пользовательский агент может выбрать наиболее подходящий. Формат объекта определяется типом носителя, указанным в поле заголовка Content-Type. Исходный сервер ДОЛЖЕН создать ресурс перед возвратом кода состояния 201. Если действие не может быть выполнено немедленно, сервер ДОЛЖЕН ответить ответом 202 (Принято).

Ответ 201 МОЖЕТ содержать поле заголовка ответа ETag, указывающее текущее значение тега объекта для только что созданного запрошенного варианта, см. Раздел 14.19.

Wikipedia

Запрос был выполнен и в результате был создан новый ресурс.

Подтверждение успешного создания (например посредством POST или PUT запроса). Заголовок Location содержит ссылку на только что созданный ресурс (при POST запросе). Тело ответа может быть пустым. Обычно так и бывает.

202: Accepted

Запрос принят в обработку, но ещё не завершен. Нет никаких гарантий, что запрос успешно выполнится в процессе обработки данных. Из-за асинхронного типа выполняемой операции отсутствует возможность повторной отправки статуса.

Данный ответ ничему не обязывает. Основной целью этого запроса является уведомить клиента о том, что запрос принят в обработку и, ввиду того, что наличие соединения между клиентом и сервером после этого не обязательно, позволить серверу принять запрос от другого клиента/для другого процесса. В ответе должно также возвращаться состояние выполнение запроса или ссылка на источник, где пользователь может проверить статус выполнения задачи или убедиться в её завершении.

Wikipedia

Запрос был принят на обработку, но она не завершена. Клиенту необязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс. Появился в HTTP/1.0.

203: Non-Authoritative Information

* 204: No Content

Запрос был успешно обработан, но нет необходимости возвращать какие-либо данные. Так же в ответе может возвращаться новая, или обновлённая информация, однако в итоге она не будет отличаться о того, что было изначально послано на сервер и, таким образом, считается что клиент и так обладает актуальной информацией.

Если клиентом является браузер — то он не должен изменять отображение документа, и его состояние до момента отправки запроса и после этого — не должно изменяться. Этот статус ответа в основном применяется для индикации успешности выполнения запроса с учётом того, что данные и их представление не должны изменится, не смотря (или с учётом того), что новая (обновлённая информация) уже отображена в представлении документа.

Ответ 204 НЕ ДОЛЖЕН включать тело сообщения. Если таковое имеется — оно обычно игнорируется и считается что после заголовков присутствует одна пустая линия.

Wikipedia

Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные. Появился в HTTP/1.0.

Статус используется, когда ответ не используется или когда нет контента (например при выполнении команды DELETE)

205: Reset Content

Сервер успешно обработал запрос и обязывает клиента сбросить введенные пользователем данные. В ответе не должно передаваться никаких данных (в теле ответа). Обычно применяется для возврата в начальное состояние формы ввода данных на клиенте.

Wikipedia

Сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт, и документ обновлять необязательно. Появился в HTTP/1.1.

206: Partial Content

Сервер выполнил часть GET запроса ресурса. Запрос ДОЛЖЕН был содержать поле заголовка Range (секция 14.35), который указывает на желаемый диапазон и МОГ содержать поле заголовка If-Range (секция 14.27), который делает запрос условным.

Запрос ДОЛЖЕН содержать следующие поля заголовка:

  • Либо поле Content-Range (секция 14.16), который показывает диапазон, включённый в этот запрос, либо Content-Type со значением multipart/byteranges, включающими в себя поля Content-Range для каждой части. Если в заголовке запроса есть поле Content-Length, его значение ДОЛЖНО совпадать с фактическим количеством октетов, переданных в теле сообщения.
  • Date
  • ETag и/или Content-Location, если ранее был получен ответ 200 на такой же запрос.
  • Expires, Cache-Control, и/или Vary, если значение поля изменилось с момента отправления последнего такого же запроса

Если ответ 206 — это результат выполнения условного запроса, который использовал строгий кэш-валидатор (подробнее в секции 13.3.3), в ответ НЕ СЛЕДУЕТ включать какие-либо другие заголовки сущности. Если такой ответ — результат выполнения запроса If-Range, который использовал «слабый» валидатор, то ответ НЕ ДОЛЖЕН содержать другие заголовки сущности; это предотвращает несоответствие между закэшированными телами сущностей и обновлёнными заголовками. В противном случае ответ ДОЛЖЕН содержать все заголовки сущностей, которые вернули статус 200 (OK) на тот же запрос.

Кэш НЕ ДОЛЖЕН объединять ответ 206 с другими ранее закэшированными данными, если поле ETag или Last-Modified в точности не совпадают (подробнее в секции 16. 5.4)

Кэш, который не поддерживает заголовки Range и Content-Range НЕ ДОЛЖЕН кэшировать ответы 206 (Partial).

Wikipedia

Сервер передает только ту часть ресурса, которая была указана клиентом в заголовке диапазона. Заголовок диапазона используется такими инструментами, как wget, для возобновления прерванных загрузок или для разделения загрузки на несколько параллельных потоков.

207: Multi-Status (WebDAV)

208: Already Reported (WebDAV)

Относится к DAV и был ранее включён в 207 ответ. Там поныне и остаётся.

Wikipedia

На сайте описание отсутствует

226: IM Used

Сервер успешно принял запрос для ресурса и ответ является представлением результата применения одной или нескольких манипуляций с экземпляром ресурса. На самом деле актуальное представление ресурса может быть в текущий момент не доступно ввиду того, что действие может быть глобальное и затрагивать несколько экземпляров ресурса, а соответственно может комбинироваться с предыдущим или возможным в будущем ответом, связанным со специфичными действиями над конкретным экземпляром ресурса (или ресурсов). Если это так, то при формировании заголовков для конкретного экземпляра (или в результирующих заголовках, отталкивающихся от 226 ответа и других экземпляров) нужно руководствоваться частью 13.5.3 спецификации HTTP/1.1.

Запрос обязан содержать в A-IM заголовке перечень как минимум одной манипуляции с экземпляром. Ответ обязан содержать ETag заголовок с тегом для конкретного экземпляра.

Ответ переданный с 226 кодом может быть закэширован и использован в ответах, актуальность которых регулируется Cache-Control заголовком, а также требованиями, которые описаны в секции 10.6.

Ответ, переданный с кодом 226 может быть использован в совокупности с имеющимися закэшированными сущностями для базового экземпляра для создания кэшированной сущности для конкретного экземпляра.

Wikipedia

Заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров. Введено в RFC 3229 для дополнения протокола HTTP поддержкой дельта-кодирования.

Данный класс кодов состояния показывает, что дальнейшие действия должны быть выполнены клиентом для тоо, чтобы запрос завершился успешно. Требуемое действие может быть выполнено клиентом без участия пользователя тогда и только тогда, когда следующий запрос будет GET или HEAD. Клиент обязан обнаруживать бесконечные циклы перенаправлений, потому что они генерируют бессмысленный трафик.

Замечание: предыдущая версия спецификации допускала максимум 5 перенаправлений. Разработчики должны иметь это ввиду.

Wikipedia

Коды этого класса сообщают клиенту, что для успешного выполнения операции необходимо сделать другой запрос, как правило, по другому URI. Из данного класса пять кодов 301, 302, 303, 305 и 307 относятся непосредственно к перенаправлениям. Адрес, по которому клиенту следует произвести запрос, сервер указывает в заголовке Location. При этом допускается использование фрагментов в целевом URI.

По последним стандартам клиент может производить перенаправление без запроса пользователя только, если второй ресурс будет запрашиваться методом GET или HEAD. В предыдущих спецификациях говорилось, что для избежания круговых переходов пользователя следует спрашивать после 5-го подряд перенаправления. При всех перенаправлениях, если метод запроса был не HEAD, то в тело ответа следует включить короткое гипертекстовое сообщение с целевым адресом, чтобы в случае ошибки пользователь смог сам произвести переход.

Разработчики HTTP отмечают, что многие клиенты при перенаправлениях с кодами 301 и 302 ошибочно применяют метод GET ко второму ресурсу, несмотря на то, что к первому запрос был с иным методом (чаще всего PUT). Чтобы избежать недоразумений, в версии HTTP/1. 1 были введены коды 303 и 307 и их рекомендовано использовать вместо 302. Изменять метод нужно только, если сервер ответил 303. В остальных случаях следующий запрос производить с исходным методом.

300: Multiple Choices

Запрошенный ресурс имеет множество представлений, каждое из которых имеет своё расположение, и предоставляется управляемая агентом информация о переговорах (раздел 12), чтобы пользователь (или пользовательский агент) мог выбрать предпочтительное представление и перенаправить его запрос в это место.

Если это не запрос HEAD, ответ ДОЛЖЕН включать объект, содержащий список характеристик и адресов, из которого пользователь или агент пользователя может выбрать один наиболее подходящий. Формат объекта определяется по типу данных приведённых в Content-Type поля заголовка. В зависимости от формата и возможностей агента пользователя, выбор наиболее подходящего варианта может выполняться автоматически. Однако эта спецификация не определяет никакого стандарта для автоматического выбора.

Если у сервера есть предпочтительный выбор представления, он ДОЛЖЕН включить конкретный URI для этого представления в поле Location; агент пользователя МОЖЕТ использовать заголовок Location для автоматического перенаправления к предложенному ресурсу. Этот запрос может быть закэширован, если явно не было указано иного.

Wikipedia

По указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением список альтернатив, давая возможность сделать выбор клиенту автоматически или пользователю. Появился в HTTP/1.0.

301: Moved Permanently

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

Новый постоянный URI должен быть передан в Location заголовке в ответе. Если запрос был не HEAD — в ответе должно содержаться краткое описание того, что адрес изменился со ссылкой на новый адрес. Данная информация должна быть предоставлена в виде HTML.

Если 301 статус получен в ответ на запрос, отличный от GET или HEAD, агент пользователя не обязан автоматически перенаправлять в случае, если пользователь не может подтвердить это действие.

Замечание: Некоторые HTTP/1.0 клиенты, после автоматического перенаправления POST запроса, после принятия 301 статуса, ошибочно преобразуют его в GET запрос.

Wikipedia

Запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. Некоторые клиенты некорректно ведут себя при обработке данного кода. Появился в HTTP/1.0.

302: Found

Запрошенный ресурс временно находится под другим URI. Так как перенаправление может быть изменено в любой момент, клиенту СЛЕДУЕТ продолжать использовать тот же самый URI для будущих запросов. Этот ответ является кэшируемым если не было назначено Cache-Control или Expires поля заголовка.

Временный URI должен быть передан в Location заголовке в ответ на запрос. В случае, если запрос был не HEAD — в ответе должно содержаться упоминание о новом URI в гипертекстовом представлении.

Если 302 статус передан в ответе на отличный от GET или HEAD запрос, клиент не должен автоматически выполнять перенаправление, если это действие не может быть подтверждено пользователем, так как это может изменить условия, которые подразумевал исходный запрос.

Замечание: RFC 1945 и RFC 2068 описывают, что клиенту недопустимо изменять метод исходного запроса при перенаправлении. Тем не менее большинство существующих реализаций User Agent обрабатывает 302 как будто был передан ответ 303, выполняя GET для адреса, переданного в Location, независимо от исходного метода запроса. Статусы 303 и 307 были добавлены для серверов, которым необходимо однозначно понимать, какой вид реакции ожидать от клиента.

Wikipedia

Запрошенный документ временно доступен по другому URI, указанному в заголовке в поле Location. Этот код может быть использован, например, при управляемом сервером согласовании содержимого. Некоторые клиенты некорректно ведут себя при обработке данного кода. Введено в HTTP/1.0.

303: See Other

Документ по запрошенному адресу может быть найден по другому URI и должен быть найден с использованием GET запроса. Этот метод существует прежде всего, чтобы позволить выход из POST-активированной сценария, используя перенаправление агента пользователя на указанный ресурс. Новый URI не является заменой для исходного адреса. 303 статус не должен быть закэширован, однако ресурс, куда будет выполнено перенаправления — может быть закэширован.

Новый URI должен быть передан посредством Location в ответе. В случае, если исходный запрос был отличен от HEAD — в ответе должна содержаться ссылка на новый URI в гипертекстовом формате.

Замечание: Многие агенты, до HTTP/1.1 не понимают статуса 303. Когда взаимодействие с такими клиентами является проблемой, код состояния 302 может быть использован вместо 303, так как большинство агентов реагируют на ответ 302, так же как на 303.

Wikipedia

Документ по запрошенному URI нужно запросить по адресу в поле Location заголовка с использованием метода GET несмотря даже на то, что первый запрашивался иным методом. Этот код был введён вместе с 307-ым для избежания неоднозначности, чтобы сервер был уверен, что следующий ресурс будет запрошен методом GET. Например, на веб-странице есть поле ввода текста для быстрого перехода и поиска. После ввода данных браузер делает запрос методом POST, включая в тело сообщения введённый текст. Если обнаружен документ с введённым названием, то сервер отвечает кодом 303, указав в заголовке Location его постоянный адрес. Тогда браузер гарантировано его запросит методом GET для получения содержимого. В противном случае сервер просто вернёт клиенту страницу с результатами поиска.

Введено в HTTP/1.1

* 304: Not Modified

Если клиент выполнил условный запрос GET и доступ разрешен, но документ не был изменен, сервер должен ответить, используя этот код состояния. Ответ 304 НЕ ДОЛЖЕН содержать тела сообщения, и, таким образом, всегда завершается первой пустой строкой после полей заголовка.

Ответ должен содержать следующие заголовки:

  • Дата, если её отсутствия не требует раздел 14.18.1

Если сервер подчиняется этим правилам, и прокси-серверы и клиенты добавят свои собственные Даты к любому ответу, полученному без Даты (как уже указано [RFC 2068], раздел 14.19), кэши будут работать правильно.

  • ETag и/или Content-Location, если заголовки передаются с 200 кодом ответа.
  • Expires, Cache-Control, и/или Vary, если значения полей изменились с последнего ответа на предыдущие аналогичные запросы.

Если условный GET запрос использует строгую валидацию на присутствие в кэше (см 13.3.3) ответ НЕ должен (желательно) включать другие заголовки. В противном случае ответ НЕ должен (обязательно) включать другие заголовки. Это предотвращает нарушение согласованности данных в кэше и модификации заголовков.

Если при 304 ответе наблюдается отсутствие сущности в актуальном кэше, запрос должен быть продолжен без проверки присутствия кэша.

Если кэш использует полученный 304 ответ для обновления кэша, кэш ДОЛЖЕН обновить запись, чтобы отразить любые новые значения полей, переданных в ответ.

Wikipedia

Сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Появился в HTTP/1.0.

Используется для условных GET запросов для снижения нагрузки на сеть. Если используется, то обязательны для передачи Data, Content-Location, ETag заголовки. Тело ответа при этом статусе не передается.

305: использовать прокси

Доступ к запрошенному ресурсу ДОЛЖЕН быть осуществлен через прокси-сервер, указанный в поле Location. Поле Location предоставляет URI прокси. Ожидается, что получатель повторит этот запрос с помощью прокси. Ответ 305 может генерироваться ТОЛЬКО серверами-источниками.

Заметьте: в спецификации RFC 2068 однозначно не сказано, что ответ 305 предназначен для перенаправления единственного запроса, и что он должен генерироваться только сервером-источником. Упущение этих ограничений вызвало ряд значительных последствий для безопасности.

Wikipedia

Многие HTTP клиенты (такие, как Mozilla и Internet Explorer) обрабатывают этот статус некорректно прежде всего из соображений безопасности.

306: зарезервировано (код использовался только в ранних спецификациях)

Статус 306 использовался в предыдущих версиях спецификации, но больше не используется и код зарезервирован.

Wikipedia

Больше не используется. Раньше обозначал «последующие запросы должны использовать указанный прокси-сервер»

307: Temporary Redirect

Запрошенный ресурс временно находится по другому URI. Так как перенаправление может быть изменено по какой-либо причине, клиенту следует продолжить использовать Request-URI для последующих запросов. Этот ответ можно закэшировать только в том случае, если это обозначено в заголовках Cache-Control или Expires.

Временный URI СЛЕДУЕТ передать в ответе в поле Location. Если метод запроса не HEAD, в сущность запроса СЛЕДУЕТ включить короткую гипертекстовую заметку со ссылкой на новый (новые) URI, поскольку многие агенты, использующие более ранние протоколы, чем HTTP/1.1, не понимают статус 307. Поэтому заметка ДОЛЖНА содержать информацию, необходимую для пользователя, чтобы повторить запрос на новый URI.

Если статус 307 получен в ответ на запрос, метод которого отличается от GET или HEAD, агент НЕ ДОЛЖЕН автоматически перенаправлять запрос до тех пор, пока он не будет подтвержден пользователем, поскольку это может изменить условия, из-за которых и был сгенерирован этот запрос.

Wikipedia

В этом случае запрос следует повторить на другой URI; как бы то ни было, последующие запросы могут использовать первоначальный URI. В противоположность статусу 302, метод запроса не должен изменяться, когда первоначальный запрос пересоздается. Например, POST-запрос нужно продублировать другим POST-запросом.

308: Permanent Redirect (экспериментально)

Нужно повторить запрос на другой адрес без изменения применяемого метода.

Wikipedia

Этот и все последующие запросы нужно повторить на другой URI. 307 и 308, как было предложено, схожи в поведении с 302 и 301, но не требуют замены HTTP метода. Таким образом, например, отправку формы на «постоянно перенаправленный» ресурс можно продолжать без проблем.

Класс кодов 4xx предназначен для определения ошибок, которые произошли на стороне клиента. Кроме случая, когда метод запроса был HEAD, серверу СЛЕДУЕТ включить в ответ сущность, которая содержит в себе объяснение ситуации, которая привела к ошибке, и является ли это временным или постоянным условием. Эти коды применимы к любому методу запроса. Пользовательским агентам СЛЕДУЕТ отображать пользователю включённую в такой ответ сущность.

Если клиент передает данные, то серверу, использующему TCP СЛЕДУЕТ убедиться, что клиент подтверждает отправку пакетов, содержащих ответ, до того, как сервер закроет соединение. Если клиент продолжит отправку данных после того, как сервер закрыл соединение, TCP стек сервера отправит пакет с флагом сброса (TCP reset packet), который может уничтожить клиентские данные, находящиеся в неподтвержденных входных буферах, до того, как они будут прочитаны и обработаны HTTP приложением.

Wikipedia

Класс кодов 4xx предназначен для указания ошибок со стороны клиента. При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя.

* 400: Bad Request

Запрос не удалось обработать из-за синтаксической ошибки. Клиенту НЕ СЛЕДУЕТ повторять такой запрос без изменений.

Wikipedia

Сервер обнаружил в запросе клиента синтаксическую ошибку. Появился в HTTP/1.0.

Общая ошибка во время выполнения запроса может вызвать неверное состояние. Примером, вызывающим этот статус, может быть ошибка в валидации домена или нехватка данных.

* 401: Unauthorized

Запрос требует аутентификации пользователя. Ответ должен содержать WWW-Authenticate заголовок (раздел 14. 47). Клиент может повторить запрос с корректным Authorization заголовком (раздел 14.8). Если запрос уже содержит информацию для авторизации, в таком случае 401 код ответа показывает, что авторизация была отклонена. Если 401, содержит тот же самый вызов, как и предшествующий ответ, а агент пользователя уже делал попытку аутентификации по крайней мере один раз, то СЛЕДУЕТ показать пользователю объект, который был дан в ответе, так как этот объект может включать соответствующую диагностическую информацию. Аутентификации доступа HTTP объясняется в «HTTP-аутентификации: Basic и Digest Authentication Access».

Wikipedia

Для доступа к запрашиваемому ресурсу требуется аутентификация. В заголовке ответ должен содержать поле WWW-Authenticate с перечнем условий аутентификации. Клиент может повторить запрос, включив в заголовок сообщения поле Authorization с требуемыми для аутентификации данными.

Код используется для пропущенного или не корректного токена аутентификации.

402: Payment Required

Этот код зарезервирован для использования в будущем.

Wikipedia

Предполагается использовать в будущем. В настоящий момент не используется. Этот код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний. Имеется в виду, что эта ошибка не будет выдана хостинговым провайдером в случае просроченной оплаты его услуг. Зарезервирован, начиная с HTTP/1.1.

* 403: Forbidden

Сервер понял запрос, но отказывается его обрабатывать. Авторизация не поможет и этот запрос НЕ СЛЕДУЕТ повторять. Если метод запроса был HEAD и сервер хочет указать причину, почему запрос не был обработан, то ему СЛЕДУЕТ включить в ответ сообщение с объяснением. Если сервер не хочет, чтобы эта информация была доступна клиенту, вместо кода 403 можно использовать 404.

Wikipedia

Сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу. Если для доступа к ресурсу требуется аутентификация средствами HTTP, то сервер вернёт ответ 401 или 407 при использовании прокси. В противном случае ограничения были заданы администратором сервера или разработчиком веб-приложения и могут быть любыми в зависимости от возможностей используемого программного обеспечения. В любом случае клиенту следует сообщить причины отказа в обработке запроса. Наиболее вероятными причинами ограничения может послужить попытка доступа к системным ресурсам веб-сервера (например, файлам .htaccess или .htpasswd) или к файлам, доступ к которым был закрыт с помощью конфигурационных файлов, требование аутентификации не средствами HTTP, например, для доступа к системе управления содержимым или разделу для зарегистрированных пользователей либо сервер не удовлетворён IP-адресом клиента, например, при блокировках. Появился в HTTP/1.0.

Код ошибки используется для ответа пользователю, у которого нет прав для совершения этой операции или если ресурс не доступен по какой-то причине (например, из-за временного ограничения).

* 404: Not Found

Сервер не нашёл по указанному URI никаких ресурсов. Нет никаких указаний о том, постоянное это состояние или нет. СЛЕДУЕТ использовать статус 410 (Gone), если серверу известно, что старый ресурс недоступен постоянно и у него нет адреса пересылки. Этот статус часто используют тогда, когда сервер не хочет обнаруживать истинную причину того, почему он не обработал запрос, или если нельзя применить никакой другой запрос.

Wikipedia

Самая распространённая ошибка при пользовании Интернетом, основная причина — ошибка в написании адреса Web-страницы. Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI. Если серверу известно, что по этому адресу был документ, то ему желательно использовать код 410. Ответ 404 может использоваться вместо 403, если требуется тщательно скрыть от посторонних глаз определённые ресурсы. Появился в HTTP/1.0.

Используется тогда, когда ресурс не был найден, не существует или был 401, или 403, но из соображений безопасности сервер не ответил этими кодами.

405: Method Not Allowed

Выполнение метода, определенного в запросе, не разрешено для ресурса, идентифицированного конкретным адресом. Ответ должен содержать Allow заголовок, со списком разрешенных методов для запрашиваемого ресурса.

Wikipedia

Указанный клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке Allow, разделив их запятой. Эту ошибку сервер должен возвращать, если метод ему известен, но он не применим именно к указанному в запросе ресурсу, если же указанный метод не применим на всём сервере, то клиенту нужно вернуть код 501 (Not Implemented). Появился в HTTP/1.1.

406: Not Acceptable

Ресурс, определяемый запросом, может только формировать ответы, имеющие характеристики, не совместимые с принятыми заголовками, которые были отправлены в запросе.

Если глагол запроса был не HEAD, в ответ СЛЕДУЕТ включить список доступных характеристик сущности и их места расположения, из которых пользователь или агент пользователя может выбрать наиболее приемлемый вариант. Формат сущности указан в заголовке Content-Type. В зависимости от формата и возможностей агента пользователя, выбор наиболее приемлемого варианта МОЖЕТ происходить автоматически. Как бы то ни было, эта спецификация не определяет каких-либо стандартов для автоматической выборки.

Заметьте: Сервера HTTP/1.1 могут возвращать ответы, неприемлемые для запроса с указанными заголовками. В некоторых случаях предпочтительнее возвращать статус 406. Такое поведение поощряет пользователя проверять заголовки запроса и определять, является ли запрос приемлемым.

Если ответ был не приемлемым, агенту пользователя СЛЕДУЕТ временно прекратить получение других данных и запросить у пользователя решение для дальнейших действий.

Wikipedia

Запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса. Появился в HTTP/1.1.

407: Proxy Authentication Required

Этот код, аналогичен 401 (Unauthorized), но отражает то, что пользователь должен сначала авторизоваться через прокси. Прокси-сервер должен вернуть Proxy-Authenticate заголовок (раздел 14.33), содержащий запрос ресурса. Клиент может повторить запрос вместе с Proxy-Authenticate заголовком (раздел 14.34). HTTP доступ рассмотрен в «HTTP Authentication: Basic and Digest Access Authentication»

Wikipedia

Ответ аналогичен коду 401, за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на исходном сервере. Появился в HTTP/1.1.

408: Request Timeout

Клиент не предоставил запрос за то время, пока сервер был готов его ждать. Клиент МОЖЕТ повторить запрос без изменений в любое время.

Wikipedia

Время ожидания сервером передачи от клиента истекло. Клиент может повторить запрос, аналогичный предыдущему, в любое время. Например, такая ситуация может возникнуть при загрузке на сервер объёмного файла методом POST или PUT. В какой-то момент передачи источник данных перестал отвечать, например, из-за повреждения компакт-диска или потери связи с другим компьютером в локальной сети. Пока клиент ничего не передаёт, ожидая от него ответа, соединение с сервером держится. Через некоторое время сервер может закрыть соединение со своей стороны, чтобы дать возможность другим клиентам сделать запрос. Этот ответ не возвращается, когда клиент принудительно остановил передачу по команде пользователя или соединение прервалось по каким-то иным причинам, так как ответ уже послать невозможно. Появился в HTTP/1.1.

* 409: Conflict

Запрос нельзя обработать из-за конфликта в текущем состоянии ресурса. Этот код разрешается использовать только в тех случаях, когда ожидается, что пользователь может самостоятельно разрешить этот конфликт и повторить запрос. В тело ответа СЛЕДУЕТ включить достаточное количество информации для того, чтобы пользователь смог понять причину конфликта. В идеале ответ должен содержать такую информацию, которая поможет пользователю или его агенту исправить проблему. Однако это не всегда возможно и это не обязательно.

Как правило, конфликты происходят во время PUT-запроса. Например, во время использования версионирования, если сущность, к которой обращаются методом PUT, содержит изменения, конфликтующие с теми, что были сделаны ранее третьей стороной, серверу следует использовать ответ 409, чтобы дать понять пользователю, что этот запрос нельзя завершить. В этом случае в ответной сущности должен содержаться список изменений между двумя версиями в формате, который указан в поле заголовка Content-Type.

Wikipedia

Запрос не может быть выполнен из-за конфликтного обращения к ресурсу. Такое возможно, например, когда два клиента пытаются изменить ресурс с помощью метода PUT. Появился в HTTP/1.1.

Whenever a resource conflict would be caused by fulfilling the request. Duplicate entries and deleting root objects when cascade-delete is not supported are a couple of examples.

410: Gone

Требуемый ресурс больше не доступен на сервере и адрес его расположения неизвестен. Предполагается, что это состояние постоянно. Клиентам с возможностью редактирования ссылки СЛЕДУЕТ удалить ссылки на запрошенный URL после подтверждения. Если сервер не знает, или у него нет возможности определить, постоянно это состояние или нет, СЛЕДУЕТ использовать статус 404 (Not Found). Этот ответ можно кэшировать до тех пор, пока не появится другая информация.

Ответ 410, в первую очередь, предназначен для помощи в оповещении получателей о том, что ресурс умышленно недоступен и что владельцы сервера хотят, чтобы все удаленные ссылки на ресурс были удалены. Такая ситуация обычна для рекламных серверов и для частных ресурсов, владельцы которых больше не поддерживают сайт. Необязательно помечать все постоянно недоступные ресурсы «пропавшими» или сохранять такую пометку на какое-то время — это остаётся на усмотрение владельца.

Wikipedia

Такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был удалён и теперь недоступен. Серверу в этом случае неизвестно и местоположение альтернативного документа, например, копии. Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код 404. Появился в HTTP/1.1.

411: Length Required

Сервер отказывается принять запрос без указания Content-Length. Клиент МОЖЕТ повторить запрос, если добавит корректное значение в поле заголовка Content-Length, которое содержит длину тела сообщения в сообщении запроса.

Wikipedia

Для указанного ресурса клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI. Такой ответ естественен для запросов типа POST и PUT. Например, если по указанному URI производится загрузка файлов, а на сервере стоит ограничение на их объём. Тогда разумней будет проверить в самом начале заголовок Content-Length и сразу отказать в загрузке, чем провоцировать бессмысленную нагрузку, разрывая соединение, когда клиент действительно пришлёт слишком объёмное сообщение. Появился в HTTP/1.1.

412: Precondition Failed

Предварительное условие, указанное в одном или нескольких заголовках запроса, оказалось ложным, когда оно проверялось на сервере. Этот код ответа позволяет клиенту записывать предварительные условия в метаинформации текущего ресурса, таким образом, предотвращая применение запрошенного метода к ресурсу, кроме того, что ожидается.

Wikipedia

Возвращается, если ни одно из условных полей заголовка запроса не было выполнено.

413: Request Entity Too Large

Возвращается в случае, если сервер отказывается обработать запрос по причине слишком большого размера тела запроса. Сервер может закрыть соединение, чтобы прекратить дальнейшую передачу запроса.

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

Wikipedia

Тело запроса больше, чем сервер может обработать.

414: Request-URI Too Long

Сервер не может обработать запрос из-за слишком длинного указанного URL. Эту редкую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET, а не POST, когда клиент попадает в «чёрную дыру» перенаправлений (например, когда префикс URI указывает на своё же окончание), или когда сервер подвергается атаке со стороны клиента, который пытается использовать дыры в безопасности, которые встречаются на серверах с фиксированной длиной буфера для чтения или обработки Request-URI.

Wikipedia

Указанный URI был слишком длинным и сервер не смог его обработать.

415: Unsupported Media Type

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

Wikipedia

По каким-то причинам сервер отказывается работать с указанным типом данных при данном методе. Например, клиент пытается загрузить изображение в формате image/svg+xml, а сервер ожидает другой формат.

416: Requested Range Not Satisfiable

Серверу следует вернуть ответ с этим кодом, если запрос содержал поле заголовка Range и ни одно из его значений не совпало с размером выбранного ресурса, при этом в запросе не было поля заголовка If-Range. (Для байтовых диапазонов (byte-range) это означает, что значение first-byte-pos в спецификации byte-range-spec было больше, чем фактический размер выбранного ресурса. )

Когда этот статус возвращается в ответ на запрос с указанием диапазона запрашиваемых байт (byte-range requests), в ответ СЛЕДУЕТ включить поле заголовка сущности Content-Range, в котором указать фактический размер ресурса (см. секцию 14.16). Этот ответ НЕЛЬЗЯ использовать при передаче типа multipart/byteranges.

Wikipedia

Клиент запросил часть файла, но сервер не может её передать. Например, если клиент запросил часть файла, которая находится за пределами конца файла.

417: Expectation Failed

Сервер не может удовлетворить значению поля Expect заголовка запроса (см. секцию 14.20), или, если он является прокси-сервером, у него есть однозначное доказательство того, что сервер следующего уровня не сможет удовлетворить этот запрос.

Wikipedia

Сервер не может удовлетворить значению поля Expect заголовка запроса.

418: I’m a teapot (RFC 2324)

Wikipedia

418: Я — чайник

Этот код был введен в 1998 году как одна из традиционных первоапрельских шуток IETF в RFC 2324, Hyper Text Coffee Pot Control Protocol. Не ожидается, что данный код будет поддерживаться реальными серверами. Как бы то ни было, реализации существуют. HTTP сервер Nginx в своей конфигурации использует этот код для имитации goto-подобного поведения.

420: Enhance Your Calm (Twitter)

Wikipedia

Возвращается Twitter Search и Trends API, когда клиент отправляет слишком много запросов. Вероятно, номер этого кода — отсылка к культуре употребления марихуаны Другие сервисы используют вместо этого кода статус 429 Too Many Requests.

422: Unprocessable Entity (WebDAV)

Ответ 422 (Unprocessable Entity) означает, что сервер понимает указанный вид данных, (следовательно, статус 415 (Unsupported Media Type) не подходит), и синтаксис запроса корректен (поэтому статус 400 (Bad Request) не подходит), но содержащиеся в запросе инструкции нельзя выполнить. Например, эта ошибка может возникнуть, если тело запроса было синтаксически правильным, но содержало семантическую ошибку.

Wikipedia

Запрос имел правильный формат, но его нельзя обработать из-за семантических ошибок.

423: Locked (WebDAV)

Статус 423 значит, что целевой ресурс недоступен для указанного метода. Этот ответ ДОЛЖЕН содержать соответствующее предусловие или постусловие, например ‘lock-token-submitted’ или ‘no-conflicting-lock’

Wikipedia

Целевой ресурс из запроса заблокирован от применения к нему указанного метода. Введено в WebDAV.

424: Failed Dependency (WebDAV)

Код 424 (Failed Dependency) значит, что метод невозможно применить к ресурсу, потому что запрошенное действие зависело от другого действия, выполнить которое не удалось. Например, если не удалось выполнить команду с методом PROPPATCH, то, как минимум, все остальные запросы завершатся со статусом 424 (Failed Dependency).

Wikipedia

Не удалось завершить запрос из-за ошибок в предыдущем запросе. (например, PROPPATCH)

425: Reserved for WebDAV

Slein, J., Whitehead, E.J., и др., «WebDAV Advanced Collections Protocol», Работа в процессе.

Wikipedia

Определен в проекте «WebDAV Advanced Collections Protocol», но не присутствует в «Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol».

426: Upgrade Required

Для надёжного согласования функций обновления с возможностью взаимодействия требуется однозначный сигнал отказа. Код состояния 426 Upgrade Required позволяет серверу окончательно указать, с какими именно расширениями протокола должен обслуживаться данный ресурс.

Wikipedia

Клиенту следует выбрать другой протокол, например такой, как TLS/1.0.

428: Precondition Required

Код состояния 428 указывает, что исходный сервер требует, чтобы запрос был условным.

Его типичное использование — избежать проблемы «потерянного обновления», когда клиент ПОЛУЧАЕТ состояние ресурса, изменяет его и ОТПРАВЛЯЕТ обратно на сервер, когда тем временем третья сторона изменила состояние на сервере, что привело к конфликту. Требуя, чтобы запросы были условными, сервер может гарантировать, что клиенты работают с правильными копиями.

Ответы с этим кодом состояния ДОЛЖНЫ объяснять, как повторно отправить запрос.

Код состояния 428 не является обязательным; клиенты не могут полагаться на его использование, чтобы предотвратить конфликты «потерянных обновлений».

Wikipedia

Исходный сервер требует, чтобы запрос был условным. Предназначен для предотвращения проблемы «потерянного обновления», когда клиент ПОЛУЧАЕТ состояние ресурса, изменяет его и отправляет обратно на сервер, когда тем временем третья сторона изменила состояние на сервере, что привело к конфликту.

429: Too Many Requests

Код состояния 429 указывает, что пользователь отправил слишком много запросов за заданный промежуток времени («ограничение скорости»).

Представления ответа ДОЛЖНЫ включать подробности, объясняющие условие, и МОГУТ включать заголовок Retry-After, указывающий, как долго ждать, прежде чем делать новый запрос.

Когда сервер находится под атакой или просто получает очень большое количество запросов от одной стороны, ответ на каждый с кодом состояния 429 потребляет ресурсы.

Следовательно, серверы не обязаны использовать код состояния 429; при ограничении использования ресурсов может быть более целесообразным просто разорвать соединение или предпринять другие шаги.

Wikipedia

Пользователь отправил слишком много запросов за заданный промежуток времени. Предназначен для использования со схемами ограничения скорости.

431: Request Header Fields Too Large

444: No Response (Nginx)

Wikipedia

Код ответа Nginx. Сервер не вернул информацию и закрыл соединение. (полезно в качестве сдерживающего фактора для вредоносных программ)

449: Retry With (Microsoft)

Wikipedia

Расширение Microsoft. Запрос следует повторить после выполнения соответствующего действия.

450: Blocked by Windows Parental Controls (Microsoft)

Wikipedia

Расширение Microsoft. Эта ошибка возникает, когда родительский контроль Windows включён и блокирует доступ к данной веб-странице.

451: Unavailable For Legal Reasons

Доступ к ресурсу закрыт по юридическим причинам. Наиболее близким из существующих является код 403 Forbidden (сервер понял запрос, но отказывается его обработать). Однако в случае цензуры, особенно когда это требование к провайдерам заблокировать доступ к сайту, сервер никак не мог понять запроса — он его даже не получил. Совершенно точно подходит другой код: 305 Use Proxy. Однако такое использование этого кода может не понравиться цензорам. Было предложено несколько вариантов для нового кода, включая «112 Emergency. Censorship in action» и «460 Blocked by Repressive Regime»

Wikipedia

Доступ к ресурсу закрыт по юридическим причинам, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав. Введено в черновике IETF за авторством Google, при этом код ошибки является отсылкой к роману Рэя Брэдбери «451 градус по Фаренгейту».

499: Client Closed Request (Nginx)

Wikipedia

Код используется Nginx. Этот код был введен для логирования ситуаций, когда клиент закрывает соединение во время обработки запроса сервером. Таким образом, сервер не может отправить назад заголовок HTTP.

Коды ответов, начинающиеся с «5» указывают на случаи, когда сервер знает, что произошла ошибка или он не может обработать запрос. Кроме HEAD-запросов, серверу следует включить в ответ сущность, содержащую объяснение ошибки, и является ли это временным или постоянным состоянием. Агентам СЛЕДУЕТ показывать включённую сущность пользователям. Этот код ответа подходит для любых методов запросов.

Wikipedia

Сервер не смог выполнить явно корректный запрос.

Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю. Эти коды ответа подходит для любых методов запросов.

* 500: Internal Server Error

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

Wikipedia

Универсальное сообщение о внутренней ошибке сервера, когда никакое более определенное сообщение не подходит.

Универсальный код ошибки, когда на стороне сервера произошло исключение.

501: Not Implemented

Сервер не поддерживает функциональных возможностей, необходимых для выполнения запроса. Это типичный ответ, когда сервер не понимает метод в запросе и не способен выполнить запрос для ресурса. Если же метод серверу известен, но он не применим к данному ресурсу, то нужно вернуть ответ 405. Появился в HTTP/1.0.

Wikipedia

Серверу либо неизвестен метод запроса, или ему (серверу) не хватает возможностей выполнить запрос.

502: Bad Gateway

Сервер, выступая в роли шлюза или прокси-сервера, получил некорректный ответ от вышестоящего сервера, к которому он обратился для выполнения запроса. Появился в HTTP/1.0.

Wikipedia

Сервер, выступая в роли шлюза или прокси-сервера, получил некорректный ответ от вышестоящего сервера.

503: Service Unavailable

Сервер не может обработать запрос из-за временной перегрузки или технических работ. Это временное состояние, из которого сервер выйдет через какое-то время. Если это время известно, то его МОЖНО передать в заголовке Retry-After. Если заголовок Retry-After передан, то клиенту СЛЕДУЕТ обрабатывать ответ так, как если бы ответом был статус 500.

Замечание: существование кода 503 не обязывает сервер отвечать этим статусом, когда он перегружен. Некоторые сервера просто отвергают соединения.

Wikipedia

Сервер недоступен (из-за перегрузки или технических работ). Обычно это временное состояние.

504: Gateway Timeout

Сервер, в роли шлюза или прокси-сервера, не дождался в рамках установленного таймаута ответа от вышестоящего сервера текущего запроса.

Замечание: Некоторые прокси-сервера возвращают 400 или 500, когда время обработки DNS запроса превышает установленный таймаут.

Wikipedia

Сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса. Появился в HTTP/1.1.

505: HTTP Version Not Supported

Сервер не поддерживает или отказывается поддерживать версию протокола HTTP, которая использовалась в сообщении запроса. Сервер указывает, что он не может или не хочет выполнить запрос, используя ту же основную версию, что и клиент, как описано в разделе 3.1, за исключением этого сообщения об ошибке. Ответ ДОЛЖЕН содержать сущность, описывающую, почему эта версия не поддерживается, и какие другие протоколы поддерживаются этим сервером.

Wikipedia

Сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP. Появился в HTTP/1.1.

506: Variant Also Negotiates (Experimental)

Код состояния 506 указывает на то, что сервер имеет внутреннюю ошибку конфигурации: выбранный вариант ресурса настроен для участия в прозрачном согласовании содержимого и, следовательно, не является надлежащей конечной точкой в процессе согласования.

Wikipedia

В результате ошибочной конфигурации выбранный вариант указывает сам на себя, из-за чего процесс связывания прерывается. Экспериментальное. Введено в RFC 2295 для дополнения протокола HTTP технологией Transparent Content Negotiation.

507: Insufficient Storage (WebDAV)

Код состояния 507 (Переполнение хранилища) означает, что метод не может быть выполнен для ресурса, поскольку сервер не может сохранить представление, необходимое для успешного выполнения запроса. Это состояние считается временным. Если запрос, получивший этот код состояния, был результатом действия пользователя, запрос НЕ ДОЛЖЕН повторяться до тех пор, пока он не будет запрошен отдельным действием пользователя.

Wikipedia

Не хватает места для выполнения текущего запроса. Проблема может быть временной. Введено в WebDAV.

508: Loop Detected (WebDAV)

Код состояния 508 (обнаружен цикл) указывает, что сервер завершил операцию, поскольку он обнаружил бесконечный цикл при обработке запроса с «Depth: infinity». Этот статус указывает на то, что вся операция завершилась неудачно.

Wikipedia

Сервер обнаружил бесконечный цикл при обработке запроса.

509: Bandwidth Limit Exceeded (Apache)

Wikipedia

Используется при превышении веб-площадкой отведённого ей ограничения на потребление трафика. В данном случае владельцу площадки следует обратиться к своему хостинг-провайдеру. В настоящий момент данный код не описан ни в одном RFC и используется только модулем «bw/limited», входящим в панель управления хостингом cPanel, где и был введён.

510: Not Extended

В запросе не соблюдена политика доступа к ресурсу. Сервер должен отправить обратно всю информацию, необходимую клиенту для отправки расширенного запроса. Указание того, как расширения информируют клиента, выходит за рамки данной спецификации.

Если ответ 510 содержит информацию о расширениях, которые не присутствовали в начальном запросе, тогда клиент МОЖЕТ повторить запрос, если у него есть основания полагать, что он может выполнить политику расширений, изменив запрос в соответствии с информацией, предоставленной в ответе 510. В противном случае клиент МОЖЕТ представить пользователю любой объект, включённый в ответ 510, поскольку этот объект может включать в себя релевантную диагностическую информацию.

Wikipedia

На сервере отсутствует расширение, которое желает использовать клиент. Сервер может дополнительно передать информацию о доступных ему расширениях. Введено в RFC 2774 для дополнения протокола HTTP поддержкой расширений

511: Network Authentication Required

511 код ответа означает, что клиенту необходима авторизация для получения доступа к сети.

Ответ должен содержать ссылку на ресурс, на котором пользователь сможет авторизоваться (например с HTML формой)

Упоминание о том, что 511 ответ не должен содержать требования авторизации или соответствующего интерфейса, потому что браузеры должны будут отобразить интерфейс авторизации, который будет ассоциироваться с запрашиваемым URL, что может путать пользователя.

Статус 511 НЕ ДОЛЖЕН генерироваться исходными серверами; он предназначен для использования путём перехвата прокси-серверов, которые вставляются в качестве средства контроля доступа к сети.

Ответы с кодом состояния 511 НЕ ДОЛЖНЫ храниться в кэше.

Код состояния 511 разработан для смягчения проблем, вызванных «перехватывающими порталами» для программного обеспечения (особенно агентов, не являющихся браузерами), которое ожидает ответа от сервера, к которому был сделан запрос, а не от промежуточной сетевой инфраструктуры. Он не предназначен для поощрения развёртывания скрытых порталов, а только для ограничения наносимого ими ущерба.

Сетевой оператор, желающий потребовать некоторой аутентификации, принятия условий или другого взаимодействия с пользователем перед предоставлением доступа, обычно делает это путём идентификации клиентов, которые этого не сделали («неизвестные клиенты»), используя свои MAC-адреса.

Неизвестные клиенты затем блокируют весь трафик, за исключением TCP-порта 80, который отправляется на HTTP-сервер («сервер входа в систему»), предназначенный для «входа в систему» неизвестных клиентов, и, конечно же, трафик на сам сервер входа в систему.

Обычно ответ, содержащий код состояния 511, не поступает от исходного сервера, указанного в URL-адресе запроса. Это создаёт множество проблем с безопасностью; например, атакующий посредник может вставлять файлы cookie в пространство имён исходного домена, может наблюдать файлы cookie или учетные данные HTTP-аутентификации, отправленные пользовательским агентом, и так далее.

Однако эти риски не уникальны для кода состояния 511; другими словами, адаптивный портал, который не использует этот код состояния, вызывает те же проблемы.

Также обратите внимание, что связанные порталы, использующие этот код состояния при подключении SSL или TLS (обычно порт 443), будут генерировать ошибку сертификата на клиенте.

Wikipedia

Этот ответ посылается не сервером, которому был предназначен запрос, а сервером-посредником — например, сервером провайдера — в случае, если клиент должен сначала авторизоваться в сети, например, ввести пароль для платной точки доступа к Интернету. Предполагается, что в теле ответа будет возвращена Web-форма авторизации или перенаправление на неё. Введено в черновике стандарта RFC 6585

598: Network read timeout error

Wikipedia

Этот статус не описан в стандарте, однако может быть использован некоторыми HTTP прокси.

599: Network connect timeout error

Wikipedia

Этот статус не описан в стандарте, однако может быть использован некоторыми HTTP прокси.

* «Top 10» HTTP код ответа. Дополнительная информация о службе REST содержится в записи.

Список кодов состояния HTTP 4xx с пояснениями

Типы кодов состояния HTTP

Коды состояния HTTP 4xx

Другие коды состояния 4xx

Интернет использует протокол передачи гипертекста (HTTP) для отправки и получения данных. Для каждого запроса, полученного от веб-браузера, сервер отправляет трехзначный код ответа HTTP. Каждый код в ответе указывает на разное значение, и в этой статье мы дадим список кодов статуса 4xx.

HTTP-запрос и ответ через Интернет

Коды ответов HTTP подразделяются на следующие пять категорий:

  • Коды состояния 1xx для информации
  • Коды состояния 2xx для успеха
  • Коды состояния 3xx для перенаправления
  • Коды состояния 4xx для ошибок клиента
  • Коды состояния 5xx для ошибок сервера

Коды состояния HTTP 4xx

Коды состояния HTTP серии 4xx поступают в ответ сервера, когда в запросе от клиента есть ошибка. Это указывает на то, что браузер отправил неправильный запрос с ошибкой, которая не может быть обработана веб-сервером. Вам нужно проверить браузер и снова отправить правильный запрос, чтобы получить правильный ответ. Вот полный список кодов состояния HTTP 4xx с пояснениями.

Код состояния 4xxОписаниеОбъяснение
400неверный запросВеб-сервер не может выполнить полученный запрос из-за неправильного синтаксиса и отправляет в ответ код «400 – неверный запрос».
401Несанкционированный запросКод «401 – неавторизованный» получен, когда пользователь пытается получить доступ к аутентифицированному ресурсу. Сервер еще не получил аутентификацию или получил неверную аутентификацию. Простой пример – это веб-страница, аутентифицированная по идентификатору пользователя и паролю, как правило, для зарегистрированного пользователя.
402Требуется оплатаЭтот код был создан для использования во время онлайн-платежа, но в настоящее время не используется для этой цели. Некоторые серверы используют код 402 для разных целей, например, для информирования о слишком большом количестве запросов, полученных с определенного IP-адреса.
403Доступ к ресурсу запрещенКод «403 – Запрещено» получен, когда сервер получает действительный запрос, но отказывается отвечать. Это отличается от «401 – неавторизовано», поскольку запрос должен быть авторизован паролем, но аутентификация не повлияет на код 403. Пример кода 403: зарегистрированный пользователь пытается получить доступ к странице с ограниченным доступом.

|
| 404 | Ресурс не найден | Код ошибки «404 – страница не найдена» отображается, когда запрошенный ресурс больше не доступен на сервере. Причина может заключаться в том, что владелец сайта удалил страницу или изменил URL-адрес, не установив 301 редирект. Запрошенный ресурс может быть доступен или недоступен в будущем, поэтому разрешены дальнейшие запросы для того же ресурса.

|
| 405 | Недопустимый метод | «405 – Метод не разрешен» – это ошибка, полученная, если метод запроса, упомянутый в запросе, не поддерживается для ресурса. Если сканер поисковой системы обнаружит эту ошибку, URL-адрес не будет проиндексирован. |
| 406 | Неприемлемый запрос | Если запрошенный ресурс существует, но в другом формате, сервер отвечает кодом «406 – Not Acceptable». Причиной отсутствия поддержки может быть язык или метод кодировки, упомянутые в запросе. |
| 407 | Брандмауэр, требуется проверка подлинности прокси | Для самого клиента требуется проверка подлинности прокси-сервера, и получен код «407 – требуется проверка подлинности прокси». |
| 408 | Тайм-аут запроса | Сервер должен получить запрос от клиента в течение указанного времени. Если клиент не отправил полный запрос в течение указанного времени, сервер отвечает ошибкой тайм-аута «408 – Тайм-аут запроса». |
| 409 | Конфликт | Когда запрос, полученный сервером, конфликтует с другим полученным запросом или с конфигурацией сервера, будет получен код «409 – Конфликт». |
| 410 | Ресурс недоступен | Когда запрошенный ресурс окончательно удаляется с сервера, принимается код «410 – Gone». Разница между 404 и 410 заключается в том, что страницы с кодом 404 все еще можно запрашивать несколько раз, но страницы с кодом 410 не следует запрашивать повторно. Поисковые системы будут удалять страницы с кодом ошибки 410 из индексов, тогда как страницы с кодом 404 будут повторно запрашиваться сканерами. |
| 411 | Требуемая длина | Когда запрос отправляется клиентом без указания длины контента, который требуется, сервер отклоняет запросы с кодом причины как «411 – Требуемая длина». Заголовок запроса необходимо исправить и передать на сервер, чтобы получить правильный ответ. |
| 412 | Предварительное условие не выполнено | Если сервер обнаруживает несоответствие предварительных условий во время обработки заголовка запроса, то возвращает оду «412 – Precondition Failed». |
| 413 | Слишком большой объект запроса | Код состояния HTTP 413 принимается, когда сервер отклоняет запрос по причине того, что полученный запрос слишком длинный для обработки сервером. |
| 414 | URL-адрес запроса слишком длинный | Код состояния 414 HTTP принимается, когда сервер отклоняет запрос по причине того, что URL-адрес запрошенного ресурса слишком длинный для обработки сервером. |
| 415 | Неподдерживаемый тип носителя | Когда тело запроса содержит тип мультимедиа, который не поддерживается сервером, сервер отклоняет запрос и получает код «415 – Неподдерживаемый тип мультимедиа». Например, когда пользователь пытается отправить форму вместе с вложением, которое не поддерживается сервером, загрузка завершится ошибкой, и в ответе сервера будет получен код 415. |
| 416 | Запрошенный диапазон не соответствует требованиям | Когда поле диапазона в заголовке запроса неприемлемо для сервера, сервер отклоняет запрос и отправляет код «416 – Запрошенный диапазон не удовлетворен». |
| 417 | Ожидания не оправдались | Когда поле Expect в заголовке запроса не соответствует ожиданиям сервера, будет получен код «417 – Expectation Failed». |
| 422 | Необработанная сущность | Если сервер не может обработать один или несколько элементов в полученном запросе, то будет получен код «422 – Unprocessable Entity». |
| 423 | Заблокировано | Когда запрошенные ресурсы заблокированы другим запросом, сервер отклоняет запрос и отправляет в ответ код «423 – Заблокировано». |
| 424 | Неудачная зависимость | Когда сервер отклоняет запрос из-за сбоя предыдущих запросов, получается код «424 – Failed Dependency». |
| 426 | Требуется обновление | Когда сервер запрашивает обновление соединения, которое не поддерживается клиентом, получается код «426 – требуется обновление». |

Другие коды состояния 4xx

Есть и другие коды 4xx, используемые как нестандартные коды. Некоторые из примеров приведены ниже:

  • 420 Enhance Your Calm – используется в поиске Twitter, когда пользователь отправляет слишком много запросов в течение короткого периода времени.
  • 444 – Нет ответа – используется в журналах Nginx, когда сервер не возвращает никакого ответа и закрывает соединение для клиента.
  • 451 – Перенаправление – используется Microsoft Exchange ActiveSync, когда сервер не может получить доступ к почтовому ящику пользователя.

Руководство по кодам состояния HTTP

Источник записи: www.webnots.com

Список кодов состояния HTTP 4xx с пояснениями

Перейти к содержанию

Интернет использует протокол передачи гипертекста (HTTP) для отправки и получения данных. Для каждого запроса, полученного от веб-браузера, сервер отправляет трехзначный код ответа HTTP. Каждый код в ответе указывает на другое значение, и в этой статье мы дадим список кодов статуса 4xx.

HTTP-запрос и ответ через Интернет

Типы кодов состояния HTTP

Коды ответов HTTP подразделяются на следующие пять категорий:

Коды состояния HTTP 4xx

Коды состояния HTTP серии 4xx принимаются в ответе сервера, когда в запросе от клиента есть ошибка. Это указывает на то, что браузер отправил неправильный запрос с ошибкой, которая не может быть обработана веб-сервером. Вам нужно проверить браузер и снова отправить правильный запрос, чтобы получить правильный ответ. Вот полный список кодов состояния HTTP 4xx с пояснениями.

Код состояния 4xxОписаниеОбъяснение
400неверный запросВеб-сервер не может выполнить полученный запрос из-за неправильного синтаксиса и отправляет в ответ код «400 — Bad Request».
401Несанкционированный запросКод «401 — неавторизован» получен, когда пользователь пытается получить доступ к аутентифицированному ресурсу. Сервер еще не получил аутентификацию или получил неверную аутентификацию. Простой пример — это веб-страница, аутентифицированная идентификатором пользователя и паролем, как правило, для зарегистрированного пользователя.
402Требуется оплатаЭтот код был создан для использования во время онлайн-платежа, но в настоящее время не используется для этой цели. Некоторые серверы используют код 402 для разных целей, например, для информирования о слишком большом количестве запросов, полученных с определенного IP-адреса.
403Доступ к ресурсу запрещенКод «403 — Запрещен» получен, когда сервер получает действительный запрос, но отказывается отвечать. Это отличается от «401 — неавторизовано», поскольку запрос должен быть авторизован паролем, но аутентификация не повлияет на код 403. Пример кода 403: зарегистрированный пользователь пытается получить доступ к странице с ограниченным доступом.

404Ресурс не найденКод ошибки «404 — страница не найдена» отображается, когда запрошенный ресурс больше не доступен на сервере. Причина может заключаться в том, что владелец сайта удалил страницу или изменил URL-адрес, не установив 301 редирект. Запрошенный ресурс может быть доступен или недоступен в будущем, поэтому разрешены дальнейшие запросы для того же ресурса.
405Метод не разрешен«405 — Метод не разрешен» — это ошибка, полученная, если метод запроса, упомянутый в запросе, не поддерживается для ресурса. Если сканер поисковой системы обнаружит эту ошибку, URL не будет проиндексирован.
406Неприемлемый запросЕсли запрошенный ресурс существует, но в другом формате, сервер отвечает кодом «406 — Not Acceptable». Причиной отсутствия поддержки может быть язык или метод кодировки, упомянутые в запросе.
407Брандмауэр, требуется проверка подлинности проксиДля самого клиента требуется проверка подлинности прокси-сервера, и получен код «407 — требуется проверка подлинности прокси».
408Тайм-аут запросаСервер должен получить запрос от клиента в течение указанного времени. Если клиент не отправил полный запрос в течение указанного времени, сервер отвечает ошибкой тайм-аута «408 — Тайм-аут запроса».
409КонфликтКогда запрос, полученный сервером, конфликтует с другим полученным запросом или с конфигурацией сервера, то будет получен код «409 — Конфликт».
410Ресурс недоступенКогда запрошенный ресурс окончательно удаляется с сервера, принимается код «410 — Gone». Разница между 404 и 410 заключается в том, что страницы с кодом 404 все еще можно запрашивать несколько раз, но страницы с кодом 410 не следует запрашивать повторно. Поисковые системы будут удалять страницы с кодом ошибки 410 из индексов, тогда как страницы с кодом 404 будут повторно запрашиваться сканерами.
411Требуемая длинаКогда запрос отправляется клиентом без указания длины содержимого, которое требуется, сервер отклоняет запросы с кодом причины как «411 — Требуемая длина». Заголовок запроса необходимо исправить и передать на сервер, чтобы получить правильный ответ.
412Предварительное условие не выполненоЕсли сервер обнаруживает несоответствие предварительных условий во время обработки заголовка запроса, он возвращает оду «412 — Precondition Failed».
413Слишком большой объект запросаКод состояния 413 HTTP принимается, когда сервер отклоняет запрос по причине того, что полученный запрос слишком длинный для обработки сервером.
414URL запроса слишком длинныйКод состояния 414 HTTP принимается, когда сервер отклоняет запрос по причине того, что URL-адрес запрошенного ресурса слишком длинный для обработки сервером.
415Неподдерживаемый тип носителяКогда тело запроса содержит тип мультимедиа, который не поддерживается сервером, сервер отклоняет запрос и получает код «415 — Неподдерживаемый тип мультимедиа». Например, когда пользователь пытается отправить форму вместе с вложением, которое не поддерживается сервером, загрузка завершится ошибкой, и в ответе сервера будет получен код 415.
416Запрошенный диапазон не соответствует требованиямКогда поле диапазона в заголовке запроса неприемлемо для сервера, сервер отклоняет запрос и отправляет код «416 — Запрошенный диапазон не удовлетворяется».
417Ожидание не удалосьКогда поле «Ожидание» в заголовке запроса не соответствует ожиданиям сервера, принимается код «417 — ожидание не выполнено».
422Необработанная сущностьЕсли сервер не может обработать один или несколько элементов в полученном запросе, то принимается код «422 — Unprocessable Entity».
423ЗаблокированоКогда запрошенный ресурс заблокирован другим запросом, сервер отклоняет запрос и отправляет в ответ код «423 — Заблокировано».
424Неудачная зависимостьКогда сервер отклоняет запрос из-за сбоя предыдущих запросов, получается код «424 — Failed Dependency».
426Требуется обновлениеКогда сервер запрашивает обновление соединения, которое не поддерживается клиентом, получается код «426 — требуется обновление».
Другие коды состояния 4xx

Существуют и другие коды 4xx, используемые как нестандартные коды. Некоторые из примеров приведены ниже:

  • 420 Enhance Your Calm — используется в поиске Twitter, когда пользователь отправляет слишком много запросов в течение короткого периода времени.
  • 444 — Нет ответа — используется в журналах Nginx, когда сервер не возвращает никакого ответа и закрывает соединение для клиента.
  • 451 — Redirect — используется Microsoft Exchange ActiveSync, когда сервер не может получить доступ к почтовому ящику пользователя.
Руководство по кодам состояния HTTP

4

Похожие записи

Прокрутить вверх

Просмотр кода состояния HTTP — Internet Information Services

  • Статья
  • Чтение занимает 14 мин

В этой статье приводится список кодов состояния протокола HTTP в Microsoft IIS 7. 0 или более поздних версий.

Первоначальная версия продукта:   службы IIS версии 7.0 или более поздних версий
Оригинальный номер базы знаний:   943891

Введение

При попытке получить доступ к содержимому на сервере, на котором выполняются службы IIS 7.0, 7.5 или более поздних версий с помощью протокола HTTP, IIS возвращает числовой код, указывающий на состояние ответа. Код состояния HTTP записывается в журнал IIS. Кроме того, код состояния HTTP может отображаться в клиентском браузере.

Код состояния HTTP может указывать на успешность или неуспешность запроса. Код состояния HTTP также может отображать точную причину, по которой запрос не был успешным.

Расположение файлов журналов

По умолчанию IIS 7.0 или более поздних версий помещает файлы журналов в следующую папку:
inetpub\logs\Logfiles

Данная папка содержит отдельные каталоги для каждого веб-сайта. Файлы журнала создаются в каталогах ежедневно и по умолчанию называются с помощью даты. Пример имени файла журнала: exYYMMDD.log.

В данном разделе описаны коды состояния HTTP, которые используются в IIS 7.0 или более поздних версий.

Примечание

В этой статье не приводится список всех возможных кодов состояния HTTP, предусмотренных в спецификации HTTP. В данной статье перечислены только коды состояния HTTP, которые может отправлять IIS 7.0 или более поздних версий. Например, настраиваемый фильтр ISAPI или настраиваемый модуль HTTP может установить собственный код состояния HTTP.

1

xx — информация

Эти коды состояния HTTP обозначают предварительный ответ. Клиентский компьютер получит один или несколько ответов 1 xx, прежде чем получить обычный ответ.

В IIS 7.0 или более поздних версий используются нижеперечисленные коды состояния HTTP.

  • 100 — продолжение.
  • 101 — смена протоколов.

2

xx — запрос принят

Эти коды состояния HTTP указывают на успешное принятие сервером запроса.

В IIS 7.0 или более поздних версий используются перечисленные ниже коды состояния успеха HTTP.

  • 200 — ОК. Запрос клиента выполнен успешно.
  • 201 — создан.
  • 202 — принято.
  • 203 — недостоверные сведения.
  • 204 — содержимое отсутствует.
  • 205 — сброс содержимого.
  • 206 — частичное содержимое.

3

xx — перенаправление

Эти коды состояния HTTP указывают на необходимость выполнения клиентским браузером дополнительных действий для выполнения запроса. Например, клиентскому браузеру может потребоваться запросить другую страницу на сервере. Или же повторить запрос, используя прокси-сервер.

В IIS 7.0 или более поздних версий используются нижеприведенные коды состояния перенаправления HTTP.

  • 301 — перемещено навсегда.
  • 302 — объект перемещен.
  • 304 — объект не изменялся.
  • 307 — временное перенаправление.

4

xx — ошибка клиента

Эти коды состояния HTTP указывают на возникновение ошибки, вероятно, на стороне клиентского браузера. Например, клиентский браузер мог запросить несуществующую страницу. Или не предоставить достоверные сведения для проверки подлинности.

В IIS 7.0 или более поздних версий используются перечисленные ниже коды состояния клиентской ошибки HTTP.

  • 400 — неверный запрос. Серверу не удалось распознать запрос из-за ошибки в синтаксисе. Клиенту не следует повторять запрос без внесения изменений.

    IIS 7.0 или более поздних версий определяет нижеприведенные коды состояния HTTP, которые указывают на более конкретную причину ошибки 400.

    • 400.1 — недопустимый заголовок назначения.
    • 400.2 — недопустимый заголовок глубины.
    • 400.3 — недопустимый заголовок «Если».
    • 400.4 — недопустимый заголовок перезаписи.
    • 400.5 — недопустимый заголовок преобразования.
    • 400.6 — недопустимое тело запроса.
    • 400.7 — недопустимая длина содержимого.
    • 400.8 — недопустимое время ожидания.
    • 400.9 — недопустимый маркер блокировки.
  • 401 — доступ запрещен.

    IIS 7.0 или более поздних версий определяет несколько кодов состояния HTTP, которые указывают на более конкретную причину ошибки 401. Приведенные ниже отдельные коды состояния HTTP отображаются в клиентском браузере, но не отображаются в журнале IIS.

    • 401.1 — ошибка входа.
    • 401.2 — вход не выполнен из-за настройки сервера.
    • 401.3 — доступ запрещен списком управления доступом к ресурсу.
    • 401.4 — доступ запрещен фильтром.
    • 401.5 — авторизация не выполнена из-за приложения ISAPI/CGI.
    • 401.501 — доступ запрещен: слишком много запросов от одного IP-адреса клиента; достигнут предел скорости одновременно выполняемых запросов в рамках динамического ограничения IP-адресов.
    • 401.502 — запрещено: слишком много запросов от одного IP-адреса клиента; достигнут максимальный предел скорости запросов в рамках динамического ограничения IP-адресов.
    • 401.503 — доступ запрещен: IP-адрес включен в запрещающий список ограничения IP-адресов
    • 401. 504 — доступ запрещен: имя узла включено в запрещающий список ограничения IP-адресов
  • 403 — запрет.

    IIS 7.0 или более поздних версий определяет приведенные ниже коды состояния HTTP, которые указывают на более конкретную причину ошибки 403.

    • 403.1 — доступ на выполнение запрещен.
    • 403.2 — доступ на чтение запрещен.
    • 403.3 — доступ на запись запрещен.
    • 403.4 — требуется SSL.
    • 403.5 — требуется SSL 128.
    • 403.6 — IP-адрес отклонен.
    • 403.7 — требуется сертификат клиента.
    • 403.8 — отказ в доступе к узлу.
    • 403.9 — запрещено: слишком много клиентов пытается подключиться к веб-серверу.
    • 403.10 — запрещено: настройками веб-сервера запрещен доступ для выполнения.
    • 403.11 — запрещено: пароль был изменен.
    • 403.12 — отказ доступа от программы сопоставления.
    • 403.13 — сертификат клиента отозван.
    • 403.14 — вывод каталогов запрещен.
    • 403.15 — запрещено: превышен лимит доступа клиентов на веб-сервере.
    • 403.16 — сертификат клиента недействителен либо не является доверенным.
    • 403.17 — срок действия сертификата клиента истек, либо сертификат еще не вступил в силу.
    • 403.18 — запрос указанного URL-адреса не может быть выполнен в текущем пуле приложений.
    • 403.19 — невозможно выполнять приложения CGI для этого клиента в данном пуле приложений.
    • 403.20 — запрещено: вход систему с помощью служб Passport не выполнен.
    • 403.21 — запрещено: доступ к источнику запрещен.
    • 403.22 — запрещено: неограниченная глубина запрещена.
    • 403.501 — запрещено: слишком много запросов от одного IP-адреса клиента; достигнут предел скорости одновременно выполняемых запросов в рамках динамического ограничения IP-адресов.
    • 403.502 — запрещено: слишком много запросов от одного IP-адреса клиента; достигнут максимальный предел скорости запросов в рамках динамического ограничения IP-адресов.
    • 403.503 — запрещено: IP-адрес включен в запрещающий список ограничения IP-адресов
    • 403. 504 — запрещено: имя узла включено в запрещающий список ограничения IP-адресов
  • 404 — объект не найден.

    IIS 7.0 или более поздних версий определяет нижеперечисленные коды состояния HTTP, которые указывают на более конкретную причину ошибки 404.

    • 404,0 — объект не найден.

    • 404.1 — сайт не найден

    • 404.2 — ограничение ISAPI или CGI.

    • 404.3 — ограничение типа MIME.

    • 404.4 — обработчик не настроен.

    • 404.5 — запрещено конфигурацией фильтрации запросов.

    • 404.6 — команда отклонена.

    • 404.7 — расширение имени файла отклонено.

    • 404.8 — скрытое пространство имен.

    • 404.9 — атрибут файла скрыт.

    • 404.10 — превышена допустимая длина заголовка запроса.

    • 404.11 — запрос содержит последовательность двойного преобразования символов.

    • 404.12 — запрос содержит знаки расширенного набора.

    • 404.13 — превышен лимит длины содержимого.

    • 404.14 — превышена допустимая длина URL-адреса запроса.

    • 404.15 — строка запроса слишком длинная.

    • 404.16 — запрос DAV передан обработчику файла статистики.

    • 404.17 — динамическое содержимое сопоставлено обработчику файла статистики с помощью сопоставления MIME с подстановочными знаками.

    • 404.18 — последовательность строк запросов отклонена.

    • 404.19 — запрещено правилом фильтрации.

    • 404.20 — слишком много сегментов URL-адреса

    • 404.501 — не найдено: слишком много запросов от одного IP-адреса клиента; достигнут предел скорости одновременно выполняемых запросов в рамках динамического ограничения IP-адресов.

    • 404.502 — не найдено: слишком много запросов от одного IP-адреса клиента; достигнут максимальный предел скорости запросов в рамках динамического ограничения IP-адресов.

    • 404. 503 — не найдено: IP-адрес включен в запрещающий список ограничения IP-адресов

    • 404.504 — не найдено: имя узла включено в запрещающий список ограничения IP-адресов

    • 405 — метод запрещен.

    • 406 — браузером клиента не принимается тип MIME запрашиваемой страницы.

    • 408 — истекло время ожидания запроса.

    • 412 — необходимое условие не выполнено.

5

xx — ошибка сервера

Эти коды состояния HTTP указывают на невозможность выполнения сервером запроса из-за того, что сервер сталкивается с ошибкой.

В IIS более поздних версий используются нижеприведенные коды состояния ошибки сервера HTTP.

  • 500 — внутренняя ошибка сервера.

    IIS 7.0 или более поздних версий определяет перечисленные ниже коды состояния HTTP, которые указывают на более конкретную причину ошибки 500.

    • 500.0 — ошибка модуля или ISAPI.

    • 500.11 — приложение на веб-сервере закрывается.

    • 500.12 — приложение на веб-сервере перезапускается.

    • 500.13 — веб-сервер перегружен.

    • 500.15 — прямые запросы для Global.asax запрещены.

    • 500.19 — недопустимые данные конфигурации.

    • 500.21 — модуль не распознан.

    • 500.22 — конфигурация ASP.NET httpModules не применяется в режиме управляемого конвейера.

    • 500.23 — конфигурация ASP.NET httpHandlers не применяется в режиме управляемого конвейера.

    • 500.24 — конфигурация олицетворения ASP.NET не применяется в режиме управляемого конвейера.

    • 500.50 — при обработке уведомления RQ_BEGIN_REQUEST произошла ошибка перезаписи. Возникла ошибка конфигурации или выполнения правила для входящего трафика.

      Примечание

      Здесь конфигурация распределенных правил считывается как для входящих, так и для исходящих правил.

    • 500.51 — при обработке уведомления GL_PRE_BEGIN_REQUEST произошла ошибка перезаписи. Возникла ошибка глобальной конфигурации или выполнения глобального правила.

      Примечание

      Здесь считывается конфигурация глобальных правил.

    • 500.52 — при обработке уведомления RQ_SEND_RESPONSE произошла ошибка перезаписи. Произошло выполнение правила для исходящего трафика.

    • 500.53 — при обработке уведомления RQ_RELEASE_REQUEST_STATE произошла ошибка перезаписи. Произошла ошибка выполнения правила для исходящего трафика. Правило настроено на выполнение до обновления пользовательского кэша вывода.

    • 500.100 — внутренняя ошибка ASP.

  • 501 — значения, указанные в заголовке, определяют нереализованную конфигурацию.

  • 502 — веб-сервером в качестве шлюза или прокси-сервера получен недопустимый ответ.

    IIS 7.0 или более поздних версий определяет нижеприведенные коды состояния HTTP, которые указывают на более конкретную причину ошибки 502.

    • 502.1 — истекло время ожидания приложения CGI.
    • 502.2 — недопустимый шлюз: преждевременный выход.
    • 502.3 — недопустимый шлюз: ошибка подключения к серверу пересылки (ARR).
    • 502.4 — недопустимый шлюз: сервер отсутствует (ARR).
  • 503 — служба недоступна.

    IIS 7.0 или более поздних версий определяет приведенные ниже коды состояния HTTP, которые указывают на более конкретную причину ошибки 503.

    • 503.0 — пул приложений недоступен.
    • 503.2 — достигнут предел одновременно выполняемых запросов.
    • 503.3 — очередь ASP.NET переполнена
    • 503.4 — очередь FastCGI переполнена

В нижеприведенной таблице описаны причины отображения некоторых распространенных кодов состояния HTTP.

КодОписаниеПримечания
200OKЗапрос успешно обработан IIS 7.0 или более поздних версий.
304Не измененоКлиентский браузер запрашивает документ, который уже находится в кэше. И документ не был изменен с момента своего кэширования. Клиентский браузер использует кэшированную копию документа вместо скачивания его с сервера.
400Недопустимый запросФайл стека протокола HTTP (Http.sys) препятствует обработке запроса службами IIS 7.0 или более поздних версий из-за проблемы в запросе. Обычно этот код состояния HTTP означает, что запрос содержит недопустимые символы или последовательности или же противоречит параметрам безопасности в файле Http.sys.
401.1Ошибка входа в системуБезуспешная попытка входа в систему, вероятно, из-за недопустимого имени пользователя или пароля.
401.2Вход не выполнен из-за настройки сервераЭтот код состояния HTTP указывает на проблему в параметрах конфигурации проверки подлинности на сервере.
401.3Доступ запрещен списком управления доступом к ресурсуЭтот код состояния HTTP указывает на проблему в разрешениях файловой системы NTFS. Эта проблема может возникать, даже если разрешения для файла, к которому вы пытаетесь получить доступ, установлены правильно. Например, эта ошибка возникает, если у учетной записи IUSR отсутствуют права доступа к каталогу C:\Winnt\System32\Inetsrv.
401.4Авторизация не выполнена из-за фильтраФильтр ISAPI препятствует обработке запроса из-за проблемы с авторизацией.
401.5Авторизация не выполнена из-за приложения ISAPI/CGIПриложение ISAPI или приложение CGI препятствуют обработке запроса из-за проблемы с авторизацией.
403.1Доступ на выполнение запрещенНе предоставлен соответствующий уровень разрешения на выполнение.
403.2Доступ на чтение запрещенНе предоставлен соответствующий уровень разрешения на чтение. Убедитесь, что службы IIS 7.0 или более поздних версий настроены на предоставление разрешения на чтение для каталога. Кроме того, если используется документ по умолчанию, убедитесь, что данный документ существует.
403.3Доступ на запись запрещенНе предоставлен соответствующий уровень разрешения на запись. Проверьте разрешения IIS 7.0 и более поздних версий и разрешения файловой системы NTFS. Убедитесь, что они настроены для предоставления каталогу разрешения на запись.
403.4Требуется SSLЗапрос выполнен по небезопасному каналу. Но для веб-приложения требуется подключение SSL.
403.5Требуется SSL 128Сервер настроен на требование 128-битного SSL-соединения. Но запрос не был отправлен с использованием 128-битного шифрования.
403.6IP-адрес отклоненСервер настроен на запрет доступа к текущему IP-адресу.
403.7Требуется сертификат клиентаСервер настроен на требование сертификата для проверки подлинности клиента. Но в клиентском браузере не установлен соответствующий сертификат клиента. Дополнительные сведения см. в статье Ошибка HTTP 403. 7 при запуске веб-приложения, размещенного на сервере, на котором выполняется IIS 7.0.
403.8Нет доступа к сайтуСервер настроен на отклонение запросов на основе DNS-имени клиентского компьютера. Дополнительные сведения см. в статье Динамическое ограничение IP-адресов.
403.12Доступ запрещен модулем сопоставленияДоступ к странице возможен только при наличии сертификата клиента. Но идентификатору пользователя, сопоставленному с сертификатом клиента, отказано в доступе к файлу.
403.13Сертификат клиента отозванКлиентский браузер пытается использовать сертификат клиента, отозванный выдающим центром сертификации.
403.14Вывод каталогов запрещенСервер не настроен для отображения списков каталогов содержимого, и не установлен документ по умолчанию. Дополнительные сведения см. в статье Ошибка «HTTP 403.14 — Запрещено» при открытии веб-страницы IIS.
403. 16Сертификат клиента недействителен либо не является доверенным.Клиентский браузер пытается использовать недействительный клиентский сертификат. Или сервер, на котором запущены IIS 7.0 и более поздние версии, не доверяет клиентскому сертификату. Дополнительные сведения см. в статье Ошибка HTTP 403.16 при попытке получения доступа к размещенному на IIS 7.0 веб-сайту.
403.17Срок действия сертификата клиента истек, либо сертификат еще не вступил в силу.Клиентский браузер пытается использовать сертификат клиента, срок действия которого истек, или сертификат, который еще не вступил в силу.
403.18Запрос указанного URL-адреса не может быть выполнен в текущем пуле приложенийНастраиваемая страница ошибки настроена. И пул приложений страницы ошибки клиента отличается от пула приложений запрашиваемого URL-адреса.
403.19Невозможно выполнять приложения CGI для этого клиентского браузера в данном пуле приложений.Удостоверение пула приложений не имеет права пользователя на замену маркера уровня процесса.
404.0Не найдено.Файл, к которому вы пытаетесь получить доступ, был перемещен или не существует.
404.2Ограничение ISAPI или CGI.На компьютере ограничен доступ к запрашиваемому ресурсу ISAPI или запрашиваемому ресурсу CGI. Дополнительные сведения см. в статье Ошибка HTTP 404.2 при посещении веб-страницы, размещенной на компьютере, на котором выполняется IIS 7.0.
404.3Ограничение типа MIME.Текущее сопоставление MIME для запрашиваемого типа расширения недействительно или не настроено.
404.4Обработчик не настроен.У расширения имени файла запрашиваемого URL-адреса нет обработчика, настроенного на обработку запроса на веб-сервере.
404.5Запрещено конфигурацией фильтрации запросов.Запрашиваемый URL-адрес содержит последовательность символов, которая блокируется сервером.
404.6Команда отклонена.Запрос отправлен с помощью ненастроенной или недействительной HTTP-команды.
404.7Расширение имени файла отклонено.Запрашиваемое расширение имени файла запрещено.
404.8Скрытое пространство имен.Использование запрашиваемого URL-адреса запрещено, поскольку каталог скрыт.
404.9Атрибут файла скрыт.Запрашиваемый файл скрыт.
404.10Превышена допустимая длина заголовка запроса.Запрос отклонен из-за превышения допустимой длины его заголовка.
404.11Запрос содержит последовательность двойного преобразования символов.Запрос содержит последовательность двойного преобразования символов.
404.12Запрос содержит знаки расширенного набора.Запрос содержит знаки расширенного набора, а сервер настроен на запрещение их использования.
404.13Превышен лимит длины содержимого.Запрос содержит заголовок Content-Length. Значение заголовка Content-Length превышает допустимый для сервера предел. Дополнительные сведения см. в статье Сообщение «Ошибка HTTP 404.13 — CONTENT_LENGTH_TOO_LARGE» при посещении веб-сайта, размещенного на сервере, на котором выполняется IIS 7.0.
404.14Превышена допустимая длина URL-адреса запроса.Длина запрашиваемого URL-адреса превышает допустимый для сервера предел.
404.15Строка запроса слишком длинная.Запрос содержит строку запроса, которая превышает допустимый для сервера предел.
404.17Динамическое содержимое сопоставлено обработчику файла статистики.Дополнительные сведения см. в статье Сообщение «Ошибка HTTP 404.17 — не найдено» при посещении веб-сайта, размещенного на IIS 7.0.
405.0Метод запрещен.Запрос отправлен с помощью недействительного метода HTTP. Дополнительные сведения см. в статье Ошибка HTTP 405.0 при посещении веб-сайта, размещенного на сервере, на котором выполняется IIS.
406.0Недопустимый тип MIME.Запрос отправлен с помощью заголовка Accept, который содержит недействительное значение MIME.
412.0Необходимое условие не выполнено.Запрос отправлен с помощью заголовка If-Match, который содержит недействительное значение.
500Внутренняя ошибка сервера.Этот код состояния HTTP может возникать по многим причинам на стороне сервера. Дополнительные сведения см. в статье Сообщение «Ошибка HTTP 500.0 — внутренняя ошибка сервера» при открытии веб-страницы IIS 7.0.
500.11Приложение на веб-сервере закрывается.Обработка запроса не осуществляется из-за закрытия конечного пула приложений. Дождитесь завершения рабочего процесса закрытия, а затем повторите запрос. Если проблема не исчезнет, возможно, в веб-приложении возникли ошибки, которые препятствуют его правильному закрытию.
500.12Приложение на веб-сервере перезапускается.Обработка запроса не осуществляется из-за перезапуска конечного пула приложений. После обновления страницы данный код состояния HTTP должен исчезнуть. Если этот код состояния HTTP появится снова после обновления страницы, проблема может быть вызвана антивирусной программой, которая сканирует файл Global.asa. Если проблема не исчезнет, возможно, в веб-приложении возникли ошибки, которые препятствуют его правильному перезапуску.
500.13Веб-сервер перегружен.Обработка запроса не осуществляется, поскольку сервер перегружен и не может принимать новые входящие запросы. Обычно этот код состояния HTTP означает, что количество одновременно выполняемых входящих запросов превышает количество, которое может обрабатывать веб-приложение IIS 7.0 или более поздних версий. Эта проблема может появиться из-за слишком низких параметров конфигурации производительности, недостаточности оборудования или возникновения узкого места в веб-приложении IIS 7.0 или более поздних версий. Распространенным методом устранения неполадок является создание файла дампа памяти процессов IIS 7.0 или более поздних версий при возникновении ошибки и последующая отладка файла дампа памяти.
500.15Прямые запросы для Global.asax запрещены.Сделан прямой запрос на файл Global.asa или файл Global.asax.
500.19Недопустимые данные конфигурации.Этот код состояния HTTP возникает из-за проблемы в связанном файле applicationhost.config или связанном файле Web.config. Дополнительные сведения см. в статье Ошибка HTTP 500.19 при открытии веб-страницы IIS.
500.100Внутренняя ошибка ASP.Ошибка возникает при обработке страницы ASP. Чтобы получить более конкретную информацию об этой ошибке, отключите вывод подробных сообщений об ошибках HTTP в веб-браузере. Кроме того, в журнале IIS может отображаться номер ошибки ASP, соответствующий возникшей ошибке.
503.0Служба недоступна.Запрос отправлен в пул приложений, который в настоящее время остановлен или отключен. Для устранения этой проблемы необходимо убедиться, что конечный пул приложений запущен. В журнале событий могут содержаться сведения о том, почему пул приложений остановлен или отключен.
503.2Превышено максимально допустимое количество одновременно выполняемых запросов.Для свойства appConcurrentRequestLimit установлено значение, которое меньше текущего количества одновременно выполняемых запросов. IIS 7.0 или более поздних версий не допускает одновременное выполнение запросов, количество которых превышает значение свойства appConcurrentRequestLimit.
Дополнительный кодОписание
400.10Недействительный заголовок XFF
400. 11Недействительный запрос WebSocket
Дополнительный кодОписание
400.601Недопустимый запрос клиента (ARR)
400.602Недопустимый формат времени (ARR)
400.603Ошибка диапазона анализа (ARR)
400.604Клиент потерян (ARR)
400.605Достигнуто максимальное количество пересылок (ARR)
400.606Ошибка асинхронного соревнования (ARR)
502.2Сбой запроса на сопоставление (ARR)
502.3Ошибка асинхронного соревнования WinHTTP (ARR)
502.4Сервер отсутствует (ARR)
502.5Сбой WebSocket (ARR)
502.6Сбой перенаправленного запроса (ARR)
502.7Сбой запроса на выполнение (ARR)

Ссылки

Дополнительные сведения об определениях кодов состояния HTTP см. на странице HTTP/1.1: определения кодов состояния.

Заявление об отказе от ответственности за сведения о продуктах сторонних производителей

В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.

Коды состояния HTTP — 4xx

4xx — Ошибка клиента
Эта группа кодов состояния HTTP указывает на то, что запрос ресурса содержит неправильный синтаксис или не может быть заполнен по какой-либо другой причине, предположительно по вине клиента, отправившего запрос. За исключением ответа на запрос HEAD, серверу СЛЕДУЕТ включать объяснение ситуации с ошибкой и того, является ли это временным или постоянным состоянием. Эти коды состояния применимы к любому методу запроса.

400 — Неверный запрос
Запрос не понят сервером из-за неправильного синтаксиса. Клиент НЕ ДОЛЖЕН повторять запрос без изменений. Это означает, что веб-сервер не смог понять запрос и обработать его, поскольку запрос, отправленный клиентом (веб-браузером или агентом WebSitePulse), не был правильно сформирован и не соответствовал стандартам протокола HTTP.

401 — Неавторизованный
Это сообщение об ошибке означает, что отвечающему серверу требуется аутентификация пользователя или что авторизация была отклонена для предоставленных учетных данных с запросом. Если вы только что ввели их, а затем сразу же видите ошибку 401, это означает, что одно или оба ваших имени пользователя и пароля недействительны.

402 — Требуется оплата
Этот код зарезервирован для использования в будущем. Предполагалось, что код 402 будет использоваться как часть какой-либо формы цифрового платежа, но этого не произошло.

403 — Запрещено
Запрос, отправленный на сервер, был законным запросом, сервер понял его, но отказывается отвечать на него и обрабатывать его. Авторизация в этом случае не поможет.

404 — Файл не найден
Сервер выдает эту ошибку, когда понимает HTTP-запрос, отправленный клиентом (вашим браузером или агентом мониторинга WebSitePulse), но не находит файлы, указанные по запрошенному URL-адресу. В ответе сервера не указывается, является ли состояние временным или постоянным. Эта ситуация аналогична ответу вашей почтовой службы «возврат отправителю — адрес неизвестен».
Ошибку 404 не следует путать с «сервер не найден» или подобными ошибками, при которых вообще невозможно установить соединение с целевым сервером.
Для таких URL-адресов, как www.my_website.com, вполне возможно, что запрос на ваш веб-сайт был перенаправлен на неправильный сервер. Это происходит, когда записи DNS повреждены. Ошибка 404 также имеет смысл, если ваш сайт полностью мертв. Если это проблема с DNS, как только глобальные записи DNS будут обновлены, ваш веб-сайт должен быть доступен.
Для низкоуровневых URL-адресов эта ошибка обычно указывает на неработающую ссылку.

405 — Метод не разрешен
Методы доступа к ресурсам на веб-серверах определяются в протоколе HTTP, но все веб-серверы можно настроить так, чтобы разрешить или запретить любой метод.
Ошибка 405 означает, что метод, указанный в запросе, не разрешен для ресурса, указанного в URL-адресе запроса.
Он может отображаться из-за того, что веб-сервер вообще не настроен на прием запросов от посетителей. Ошибки с кодами 405 часто возвращаются при попытке использовать метод POST для отправки информации через форму, но сервер не настроен на разрешение метода POST, необходимого для его обработки.
Все ошибки 405 записываются в журналы сервера, чтобы ваша компания, предоставляющая шланги, могла легко их объяснить.

406 — Неприемлемо
Делая запрос, клиент может указать веб-серверу, какие данные он примет обратно.
Заголовок с кодом ошибки 406 возвращается, если веб-сервер обнаруживает, что единственный ответ, который он может сгенерировать и вернуть клиенту, неприемлем для клиента. Эта ошибка очень редко возникает в веб-браузерах, поскольку большинство клиентов принимают любые данные, возвращенные с сервера.
Если клиент не является браузером, вы можете проверить заголовки Accept и данные, возвращаемые сервером. Если у вас нет доступа к этой информации, обратитесь в службу технической поддержки WebSitePulse.

407 — Требуется аутентификация прокси-сервера
Этот код ошибки похож на 401 (неавторизованный), и сервер отвечает ошибкой 407, когда запрос от клиента (веб-браузер или наш агент мониторинга) был правильным, но для доступа к ресурсу URL-адреса требуется, чтобы клиент сначала аутентифицировал себя с помощью прокси. Обычно это означает, что вы должны сначала войти в систему (ввести идентификатор пользователя и пароль) на прокси-сервере.

408 — Время ожидания запроса
Сервер отвечает этой ошибкой, когда клиент не отправил запрос в течение времени, которое сервер был настроен на ожидание. Клиент может повторить запрос без изменений в любое время.
Если есть постоянные ошибки 408, проверьте нагрузку на ваш веб-сервер в то время, когда эти ошибки были обнаружены. Другой возможностью может быть проблема с подключением.

409 — Конфликт
Веб-сервер отвечает этой ошибкой, когда считает запрос клиента законным, но запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса. Тело ответа обычно содержит достаточно информации, чтобы пользователь мог распознать источник конфликта и устранить проблему.
Конфликт здесь обычно не связан со стандартными полномочиями или безопасностью веб-сервера, а связан с конкретными конфликтами приложений, не определенными в самом протоколе HTTP.

410 — Исчез
Веб-сервер отвечает этой ошибкой, когда запрошенный ресурс больше недоступен на сервере, больше не будет доступен и адрес пересылки неизвестен. Эта ошибка похожа на 404, но 410 является постоянной.

411 — Требуемая длина
Этот код ошибки означает, что сервер отказывается принимать запрос без определенной длины содержимого. Клиент должен повторить запрос, добавив допустимое поле заголовка длины содержимого, содержащее длину тела сообщения в сообщении запроса.

412 — Ошибка предварительного условия
Веб-сервер отвечает этой ошибкой, когда предварительное условие, указанное в одном или нескольких полях заголовка запроса, было оценено как ложное при проверке на сервере. Этот код ответа позволяет клиенту помещать предварительные условия в метаинформацию текущего ресурса (данные поля заголовка) и, таким образом, предотвращать применение запрошенного метода к ресурсу, отличному от предполагаемого.

413 — объект запроса слишком велик
Сервер отказывается обрабатывать запрос, потому что объект запроса больше, чем сервер хочет или может обработать. Сервер может закрыть соединение, чтобы клиент не продолжил выполнение запроса. То, что считается «слишком большим», частично зависит от предпринимаемой операции. Например, запрос на загрузку очень большого файла (через метод HTTP PUT) может столкнуться с ограничением размера загружаемого файла, установленным веб-сервером.

414 — слишком длинный URL-адрес запроса
Веб-сервер отвечает этой ошибкой, когда он отказывается обслуживать запрос, потому что URL-адрес запроса длиннее, чем сервер желает или может интерпретировать. Это редкое состояние может возникнуть только в том случае, если клиент неправильно преобразовал запрос POST в запрос GET с длинной информацией о запросе, когда клиент спустился в «черную дыру» URL-адреса перенаправления (например, префикс URL-адреса перенаправления, который указывает на суффикс самого себя), или когда сервер подвергается атаке со стороны клиента, пытающегося использовать дыры в безопасности, имеющиеся на некоторых серверах, использующих буферы фиксированной длины для чтения или манипулирования URL-адресом запроса. Обычно веб-серверы устанавливают довольно большие ограничения на длину подлинных URL-адресов, например. до 2048 или 4096 символов. Если длинный URL-адрес действителен и вы получаете ошибку 414, возможно, потребуется перенастроить веб-сервер, чтобы разрешить такие URL-адреса.

415 — Неподдерживаемый тип носителя
Сервер отказывается обслуживать запрос, поскольку объект запроса имеет формат, не поддерживаемый запрошенным ресурсом для запрошенного метода.

416 — Запрошенный диапазон не удовлетворяется
Сервер обычно возвращает ответ с кодом состояния 416, если запрос включал поле заголовка запроса Range, и ни одно из значений спецификатора диапазона в этом поле не перекрывает текущий экстент выбранного ресурса, и запрос не включал If- Поле заголовка запроса Range. Например, если ресурс является файлом изображения и имеет 1000 байт, а запрошенный диапазон составляет 500-1500, то он не может быть удовлетворен.

417 — Ожидание не выполнено
Веб-сервер отвечает этим кодом состояния, когда ожидание, указанное в поле заголовка запроса Expect, не может быть выполнено этим сервером или, если сервер является прокси-сервером и имеет явные доказательства того, что запрос не может быть выполнен следующим — хоп сервер.


Похожие темы

Советы по использованию

  • Используете браузер Firefox? Возьмите текущий статус с собой.
  • Текущее состояние для вашего Google Page
  • , где текущий статус

База знаний

  • Коды состояния HTTP — 1xx
  • .
  • Коды состояния HTTP — 3xx
  • Статус цели

Howtos

  • Настройка зависимостей предупреждений
  • Проверка записей WHOIS на наличие изменений статуса
  • Safely Monitor Backend Databases

Glossary

  • RTSP Status Codes
  • HTTP status codes
  • Numeric Pagers Contacts
  • HTTP Response
  • URL Contacts

Frequently asked questions

  • Предоставляете ли вы мониторинг WAP?
  • Что такое язык определения WSDL/веб-сервиса?
  • Я могу локально контролировать свои серверы. Зачем мне нужен WebSitePulse.com?
  • Предлагает ли WebSitePulse мониторинг DNS?
  • Какие типы приложений отслеживаются?

Поиск:

Руководство по ошибкам HTTP 4XX

Вам, как пользователю, может быть интересно, что означает ошибка 4XX, почему она возникла и можно ли ее исправить? Как специалиста по цифровому маркетингу, вас больше всего волнует, почему произошла ошибка 4XX, как она влияет на конечного пользователя и как вы можете это исправить. В этом полезном руководстве мы объясним, что представляет собой каждая ошибка 4XX, что их вызывает, как это влияет на вашу ценность SEO и как вы можете их исправить.

 

Что такое ошибка 4XX?

Ошибка 4XX — это ошибка, которая часто возникает, когда веб-страница не существует или имеет ограниченный доступ или права. Ошибки такого типа часто возникают из-за неправильного написания URL-адреса. В результате страница не может быть найдена или сайт или страница не могут быть доступны. Если страница недействительна, обмен сообщениями между веб-страницей и веб-сервером невозможен, и в результате отображается ошибка 4XX.

 

Руководство по ошибкам страницы HTTP 4XX

Что такое ошибка 400 Bad Request?

Когда вы отправляете запрос на сервер веб-сайта для загрузки веб-страницы, если он каким-то образом неверен или запрос поврежден, сервер не может его понять, и будет представлен 400 Bad Request.

Ошибка «400 — Bad Request» возникает, когда вы отправляете неверный или поврежденный запрос на сервер веб-сайта. В результате сервер, получивший запрос, не может его понять. Хотя маловероятно, но возможно, что проблема может падать на самом сайте. В таком случае вы ничего не сможете с этим поделать.

Подобно сообщению об ошибке «404 — не найдено», можно настроить 400 страниц.

Что такое несанкционированная ошибка 401?

Код ошибки HTTP 401 указывает на запрос, отправленный клиентом, который не может быть аутентифицирован. Это может быть связано с тем, что клиент не выдает правильные учетные данные со своим запросом, клиент по какой-то причине заблокирован или сервер отклонил учетные данные клиента.

Что такое запрещенная ошибка 403?

Это сообщение об ошибке отображается при попытке доступа к странице или ресурсу, который по какой-либо причине строго запрещен. Обычно вам будут представлены основные инструкции по устранению неполадок.

Что такое ошибка 404 Not Found?

Неработающие ссылки на веб-странице отобразят пользователю страницу с кодом ошибки 404, что не позволит ему получить доступ к следующей странице. Ошибка 404 «страница не найдена» обычно объясняется тем, что URL-адрес ссылки неверен или удален из общего доступа. Точно так же ошибка 404 может возникнуть, если веб-сайт переместил страницу или ресурс, но не смог перенаправить старый URL-адрес на новый.

Важно понимать, что ошибка 404 указывает на то, что сервер доступен, однако конкретная страница, которую вы пытаетесь открыть, недоступна.

 

Как выглядят ошибки 4XX? Ошибки

4XX легко идентифицировать, и обычно они отображаются в окне браузера. На изображении ниже показаны некоторые примеры сообщений, которые вы можете ожидать в результате ошибок каждого типа.

 

 

Как исправить ошибку 4XX?

  • Проверьте правильность написания URL, не ошиблись ли вы? Если адрес сайта был указан неправильно, он, скорее всего, затруднится и вернет ошибку «404 — Not Found».
  • Очистите файлы cookie и кеш. Возможно, ваш веб-браузер пытается использовать недействительные или просроченные файлы cookie. Возможно, ваш браузер кэшировал поврежденную версию веб-страницы, которую вы пытаетесь открыть, и в результате возвращается ошибка 400 — Bad Request.
  • Возможно, это принимающий сервер. Некоторые серверы не настроены на возврат более полезных сообщений. Например, допустим, вы загружаете файл на веб-сайт, но файл слишком большой. Вместо того, чтобы показывать сообщение о том, что файл превышает максимальный размер загружаемого файла, сервер отправляет ошибку 400 HTTP.
  • Обновить страницу. Это то же самое, что что-то выключить и снова включить. Это не всегда решает проблему, но стоит попробовать. Просто нажмите «F5» на клавиатуре, и ваш веб-браузер перезагрузит страницу. Точно так же, если проблема не устранена, попробуйте перезагрузить компьютер.
  • Попробуйте выполнить поиск по сайту. Ошибочный URL-адрес не всегда легко обнаружить, если в слаге используются цифры и символы. Если вы введете в своем браузере «сайт: ключевое слово», результаты поиска должны вернуть страницу, которую вы ищете. Это также полезный способ найти страницы, которые могут иметь новые URL-адреса.
  • Посетите другие веб-сайты. Если вы постоянно получаете код ошибки HTTP, проблема может заключаться в вашем компьютере или сетевом оборудовании. Попробуйте посетить другие веб-сайты, чтобы узнать, появляется ли ошибка HTTP 4XX по-прежнему.
  • Если вы пытаетесь войти в защищенную область, убедитесь, что вы используете правильный URL-адрес. URL-адреса могут быть обновлены или могут измениться, поэтому, если вы добавили страницу в избранное, она может больше не работать, поскольку URL-адрес другой, а перенаправление не существует. Также важно убедиться, что вы используете правильные учетные данные для входа, так как это может привести к появлению сообщения об ошибке 401.
  • Если ничего из вышеперечисленного не помогает, обратитесь на веб-сайт.

 

4XX Ошибки и их негативное влияние на поисковую оптимизацию

Когда ссылка на вашем веб-сайте (внутренняя ссылка) или ссылка, указывающая на ваш веб-сайт с другого сайта (внешняя ссылка), изменена, удалена или не работает по какой-либо причине, мы говорим, что эта ссылка не работает. Это означает, что нажатие на ссылку не приведет к извлечению соответствующего контента. Вместо этого в результате появляется сообщение об ошибке 4XX. Это сообщение чаще всего говорит что-то вроде «400: неверный запрос» или «Ошибка HTTP 400».

 

 

Внутренние ссылки

Важность исправления неработающих внутренних ссылок

С точки зрения поисковой оптимизации важно исправлять неработающие внутренние ссылки, поскольку они мешают поисковым роботам точно индексировать ваш сайт. Более того, с точки зрения бизнеса, если у вас есть неработающие ссылки, ваш сайт будет выглядеть любительским, а это сделает ваш бизнес любительским. Когда появляется страница с ошибкой, особенно общая, ваш посетитель и потенциальный клиент часто уходят намного быстрее, чем пришли.

Как исправить битые ссылки?

К счастью, инструменты Google для веб-мастеров позволяют легко отслеживать и отображать неработающие ссылки. Для этого зайдите в консоль поиска Google в своей учетной записи GWT и найдите «Сканирование» > «Ошибки сканирования». Используя этот бесплатный инструмент, вы можете со временем отслеживать тенденции, чтобы выяснить, что конкретно может быть причиной неработающих ссылок в вашей кампании.

Это означает, что вы можете найти неработающие ссылки, но вам также нужно будет точно определить, сколько трафика вы теряете. Вы можете сделать это, используя код отслеживания Google Analytics. Это даст вам представление о том, какая неработающая ссылка была нажата и на какую ошибку страницы ссылался пользователь.

 

Внешние ссылки

Почему следует исправлять неработающие внешние ссылки

Внешние ссылки, также известные как входящие ссылки, могут не работать по ряду причин. Возможно, вы изменили URL-адрес или местоположение контента или даже что-то простое, например, ссылку с ошибкой. Результат, как и неработающие внутренние ссылки, отрицательно сказывается как на вашем рейтинге в поисковых системах, так и на впечатлениях ваших посетителей.

Как мне это сделать?

Сначала необходимо определить неработающую ссылку. Как и в случае с внутренними ссылками, проверьте ошибки сканирования в своей учетной записи Google Webmaster Tools и найдите количество и источник неработающих внешних ссылок. После того, как вы определили, откуда идет неработающая ссылка, вам следует связаться с веб-мастером, отвечающим за внешний сайт. Если по какой-либо причине вы не можете связаться с ними, настройте перенаправление 301 на исходную статью. Google с благодарностью перенесет любое полезное значение индекса из вашей неработающей ссылки в вашу текущую.

 

Поддерживайте поток ссылок

«Ссылочный сок» известен как валюта Google и используется в алгоритмах поисковых систем для определения рейтинга веб-сайта или веб-страницы. Страницы соединены ссылками, и сок перетекает с одной на другую. Если есть неработающая ссылка, то текучесть ссылочного сока останавливается и ссылочный сок теряется. Это может сильно повлиять на рейтинг вашего веб-сайта и обесценить пользовательский опыт веб-сайта, уменьшив будущий трафик веб-сайта.

Создав пользовательскую страницу ошибки 404, вы можете перенаправить пользователя обратно на домашнюю или предыдущую страницу, чтобы вернуть его в нужное русло. Несмотря на то, что у пользователя возникает проблема, он может легко перемещаться по веб-сайту без необходимости начинать процесс заново. Перенаправляя ваших посетителей обратно на другие веб-страницы, веб-сайт может сохранить уровень ссылочного веса, который в противном случае был бы потерян. Чем больше внешних ссылок связано с веб-страницей, тем выше ее рейтинг, поэтому удаление или изменение имен файлов страниц должно быть тщательно продумано.

 

Зачем нужна пользовательская страница 404

Страница 404 служит для уведомления посетителя о том, что страница не может быть найдена из-за неправильной ссылки или даже просто из-за опечатки. Что вы хотите сделать как веб-мастер, так это создать пользовательскую страницу 404. Это делает несколько вещей. Во-первых, пользовательская страница ошибок намного удобнее. У посетителя создается впечатление, что сайт все еще активен, в отличие от общей страницы, которая предполагает, что это может быть не так. Что еще более важно, пользовательская страница 404 может помочь вашему пользователю найти именно то, что он искал, что, если у вас много неработающих ссылок, сэкономит вам много трафика. У Google есть несколько хороших советов по созданию полезной страницы 404.

 

Преимущества пользовательской страницы 404

Неработающие ссылки Программное обеспечение, вероятно, будет поставляться большинством SEO-компаний и будет включать в себя своего рода средство проверки неработающих ссылок, которое регулярно проверяет ваши ссылки и уведомляет вас об этом. если есть проблемы. В некоторых случаях, таких как WordPress, Drupal и Joomla, может быть встроенное расширение, которое вы можете использовать для автоматической проверки.

Явно предназначенный для ПК, Xenu доступен для бесплатной загрузки, и его можно установить, чтобы также обеспечить проверки. Тем не менее, это еще не было распространено на Mac.

Мы также рекомендуем вам загрузить Инструменты Google для веб-мастеров на свой веб-сайт. Инструменты для веб-мастеров могут бесплатно предоставить чрезвычайно полезную информацию о многих факторах, включая неработающие ссылки на вашем веб-сайте и из внешних ресурсов.

 

Как создать пользовательскую страницу 404?

Это может варьироваться в зависимости от платформы, на которой был создан ваш веб-сайт. Мы рекомендуем вам попросить вашего веб-разработчика настроить это для вас, но обычно используется файл .htaccess.

Шаг 1. Страница 404 не существует, ошибка, которую вы получаете, представляет собой базовый стандартный отчет об ошибке, для отображения которого настроен сервер. Итак, лучше всего сначала спроектировать и создать страницу 404. Обычно мы называем этот файл «404».

Шаг 2. Используйте учетные данные FTP вашего веб-сайта, чтобы войти на сервер и посмотреть, существует ли файл .htaccess в корне. Там уже должен быть один; если нет, создайте его. Чтобы создать его, откройте блокнот или текстовый редактор и сохраните файл как .htaccess 9.0006

Шаг 3. Добавьте в файл .htaccess следующее:

 ErrorDocument 404 http://www.your-domain.com/404.html 

Это сообщает серверу, что при попытке доступа к документу но не существует, чтобы перенаправить их на пользовательскую страницу 404, которую вы создали ранее. Просто не забудьте заменить your-domain.com на ваше доменное имя.

Примечание: Если вы чувствуете себя некомфортно или не обладаете техническими знаниями, обратитесь к вашей нынешней веб-группе.

Пользовательский 404 Ресурсы:

 

Не игнорируйте коды ошибок 4XX

Для специалиста по цифровому маркетингу важно не игнорировать ошибки HTTP 4XX, поскольку они сильно влияют на взаимодействие с пользователем. И если вы еще не знаете, алгоритм Google предназначен для обеспечения наилучшего взаимодействия с пользователем. Хотя неработающие ссылки являются лишь одним из длинного списка факторов, которые учитывает Googlebot, это может привести к потере ценного трафика, поскольку пользователи будут разочарованы, когда им будет показана длинная строка неработающих ссылок на страницы, и, в конечном итоге, негативно повлияет на SEO вашего сайта.

Для получения дополнительной информации о наших услугах SEO, пожалуйста, свяжитесь с членом команды цифрового маркетинга.

Список кодов состояния HTTP 4xx с объяснением — WebNots

Интернет использует протокол передачи гипертекста или HTTP для отправки и получения данных. Когда веб-сервер получает запрос от веб-браузера, он отправляет трехзначный HTTP-код в качестве ответа. Это происходит для каждого отдельного запроса, который получает сервер. Каждый код в ответе HTTP имеет разное значение, и в этой статье давайте рассмотрим полный список кодов состояния 4xx с их значениями.

HTTP-запрос и ответ через Интернет

Прежде чем перейти к кодам состояния 4xx, лучше понять, что мы можем классифицировать коды ответа HTTP по следующим пяти категориям:

  • Коды состояния 1xx для информационных целей
  • Коды состояния 2xx для успешной обработки запрос
  • 3xx коды состояния для перенаправления, чтобы сообщить, что запрошенный ресурс доступен в другом месте на сервере
  • 4xx коды состояния для ошибок клиента, в основном поступает из браузера из-за отсутствия параметров для доступа к запрошенной веб-странице
  • Коды состояния 5xx для ошибок сервера, указывающих на сбой при обработке запроса.

Коды состояния HTTP 4xx

Веб-сервер отправляет код состояния HTTP 4xx в ответе при наличии ошибки в запросе, полученном от клиента. В целях устранения неполадок вы можете предположить, что код 4xx указывает, что сервер не может обработать запрос, поскольку браузер отправил неверный запрос с ошибкой. Вам нужно проверить браузер и снова отправить правильный запрос, чтобы получить правильный ответ. Например, ввод правильного имени пользователя и пароля для доступа к защищенным паролем страницам. Вот полный список кодов состояния HTTP 4xx с объяснением. Помните, что это коды состояния (а не коды ошибок), которые в некоторых случаях могут указывать на ошибку, а в большинстве случаев просто предоставляют информацию.

4xx Код состояния Описание Объяснение
400 Неверный синтаксис веб-запроса10 9 В результате он отправляет в ответ код «400 — Bad Request».
401 Неавторизованный запрос Вы получите код «401 — Неавторизованный» в ответе сервера, когда пользователь попытается получить доступ к аутентифицированному ресурсу. Это указывает на то, что сервер еще не получил аутентификацию или получил неверную аутентификацию. Простой пример: пользователь пытается получить доступ к аутентифицированной веб-странице, указав неправильный идентификатор пользователя или пароль.
402 Требуется оплата Этот код был создан для использования во время онлайн-платежа требуется, но в настоящее время не используется для этой цели. Некоторые серверы используют код 402 для разных целей, например, для информирования о слишком большом количестве запросов, полученных с определенного IP-адреса.
403 Доступ к ресурсу запрещен Код «403 — Запрещено» получен, когда сервер получает действительный запрос, но отказывается отвечать. Это отличается от «401 — Неавторизованный», поскольку запрос должен быть авторизован с помощью пароля, но аутентификация не будет иметь никакого влияния в коде 403. Примером кода 403 является зарегистрированный пользователь, пытающийся получить доступ к странице с ограниченным доступом.

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

405 Метод не разрешен «405 — Метод не разрешен» — ошибка, полученная, если метод запроса, указанный в запросе, не поддерживается для ресурса. Если сканер поисковой системы обнаружит эту ошибку, URL-адрес не будет проиндексирован.
406 Неприемлемый запрос Когда запрошенный ресурс существует, но в другом формате, сервер отвечает кодом «406 — Неприемлемо». Причиной отказа в поддержке может быть язык или метод кодирования, указанные в запросе.
407 Брандмауэр, требуется аутентификация прокси-сервера Для самого клиента требуется аутентификация прокси-сервера, и получен код «407 — требуется аутентификация прокси-сервера».
408 Время ожидания запроса Сервер должен получить запрос от клиента в течение указанного времени. Если клиент не отправил полный запрос в течение указанного времени, сервер отвечает ошибкой тайм-аута «408 — Request Timeout».
409 Конфликт Когда запрос, полученный сервером, конфликтует с другим полученным запросом или с конфигурацией сервера, то получен код «409 — Конфликт».
410 Ресурс недоступен Когда запрошенный ресурс навсегда удаляется с сервера, выдается код «410 — Исчез». Разница между 404 и 410 заключается в том, что страницы с кодом 404 по-прежнему можно запрашивать несколько раз, а страницы с кодом 410 не следует запрашивать повторно. Поисковые системы удалят страницы с кодом ошибки 410 из индексов, тогда как страницы с кодом 404 будут снова запрашиваться сканерами.
411 Требуемая длина Когда запрос отправляется клиентом без указания необходимой длины содержимого, сервер отклоняет запросы с кодом причины «411 — Требуемая длина». Заголовок запроса необходимо исправить и передать на сервер, чтобы получить правильный ответ.
412 Precondition Failed Если сервер обнаруживает несоответствие предварительных условий во время обработки заголовка запроса, он возвращает код «412 — Precondition Failed».
413 Объект запроса слишком велик Код состояния HTTP 413 получен, когда сервер отклоняет запрос по той причине, что полученный запрос слишком длинный для обработки сервером.
414 Слишком длинный URL-адрес запроса Код состояния HTTP 414 получен, когда сервер отклоняет запрос по той причине, что URL-адрес запрошенного ресурса слишком длинный для обработки сервером.
415 Неподдерживаемый тип носителя Если тело запроса содержит тип носителя, который не поддерживается сервером, сервер отклоняет запрос и получает код «415 — неподдерживаемый тип носителя». Например, когда пользователь пытается отправить форму вместе с вложением, которое не поддерживается сервером, загрузка завершится ошибкой, и в ответе сервера будет получен код 415.
416 Запрошенный диапазон недостижимКогда поле диапазона в заголовке запроса неприемлемо для сервера, сервер отклоняет запрос и отправляет код «416 — запрошенный диапазон неудовлетворителен».
417 Ожидание не выполнено Если поле «Ожидание» в заголовке запроса не соответствует ожиданиям сервера, то будет получен код «417 — Ожидание не выполнено».
418 Я чайник Это часть протокола HyperText Coffee Pot Control Protocol, созданного как первоапрельская шутка. Это указывает на то, что веб-сервер запрещает варить кофе, поскольку он является чайником. Некоторые веб-серверы возвращают 418, когда не хотят обрабатывать запрос.
422 Необрабатываемый объект Когда сервер не может обработать один или несколько элементов в полученном запросе, выдается код «422 — Необрабатываемый объект».
423 Заблокировано Когда запрошенный ресурс заблокирован другим запросом, сервер отклоняет запрос и отправляет в ответ код «423 — Заблокировано».
424 Неудачная зависимость Когда сервер отклоняет запрос из-за неудачи предыдущих запросов, то получен код «424 — Неудачная зависимость».
426 Требуется обновление Когда сервер запрашивает обновление соединения, которое не поддерживается клиентом, принимается код «426 — Требуется обновление».
Нестандартные коды состояния 4xx

В дополнение к перечисленным выше кодам состояния 4xx, некоторые веб-серверы также используют несколько других нестандартных кодов состояния 4xx в ответе HTTP. Некоторые из примеров приведены ниже:

  • 420 — Enhance Your Calm: Твиттер использует этот код при поиске, когда пользователь отправляет слишком много запросов в течение короткого периода времени.
  • 444 — Нет ответа: вы можете увидеть этот код в журналах сервера Nginx, когда сервер не возвращает никакого ответа и закрывает соединение для клиента.
  • 451 — Перенаправление: Microsoft Exchange ActiveSync использует этот код, когда сервер не может получить доступ к почтовому ящику пользователя.

Вы можете загрузить бесплатное руководство по кодам состояния HTTP, чтобы понять все типы кодов, доступных в ответе сервера.

Руководство SEO по кодам состояния HTTP 4xx: окончательный список

Ошибка 400 not found расстраивает. Конечный пользователь не может добраться до ресурса, на который рассчитывал, и если владелец сайта не предпримет дополнительных действий, человек покинет свой сайт.

Большие и малые сайты получают эти ошибки, и если вы получите ошибку YouTube 400, вы можете быть уверены, что любой веб-сайт может постичь та же участь.

Человеку, занимающемуся поисковой оптимизацией или управляющему собственным веб-сайтом, очень важно знать эти коды состояния и принимать дополнительные меры для их контроля. Мы рассмотрим все коды страниц с ошибкой 404, что они означают для вашего сайта и как их исправить.

Содержание

Коды состояния HTTP – 4xx

Большинство владельцев сайтов прекрасно различают внутреннюю ошибку сервера 400 и 500, но существует множество кодов ответов 4xx, которые не включают заголовки 403 или 404. Ниже приведен обширный список потенциальных ответов, которые вы можете найти в этом диапазоне.

Понимание кодов ответов об ошибках клиента HTTP 4XX

Вы можете столкнуться с сетевой ошибкой 410 или кодом ошибки 406, но что вообще означают эти ответы? Понимание значения этих кодов поможет вам найти для них исправления намного быстрее.

  • 401 Неавторизованный отправляется, когда в запросе не указаны правильные учетные данные для аутентификации.
  • 402 Требуется оплата существует, но зарезервирован для использования в будущем.
  • 403 Запрещено — распространенная ошибка, поскольку у пользователя нет прав на просмотр определенной страницы или папки на сайте.
  • 404 Not Found Ошибка или 404 SEO-код означает, что ресурс больше не существует. Пользователь либо перешел на недопустимый URL-адрес или ресурс был удален.
  • 405 Метод не разрешен — это вызов, который означает, что метод запроса, отправленный на сайт, не разрешен. Например, этот ответ может быть отправлен, когда вызов API пытается получить доступ к неразрешенным функциям.
  • 406 Неприемлемо — необычный код. HTTP-код 406 означает, что сервер не нашел на сайте контента, соответствующего критериям в запросе.
  • 407 Требуется аутентификация означает, что прокси-сервер должен пройти аутентификацию, чтобы пользователь мог продолжить работу.
  • 408 Время ожидания запроса отправляется серверами, когда неиспользуемое соединение было разорвано сервером, часто из-за бездействия.
  • 409 Конфликт означает, что сервер и запрос конфликтуют друг с другом.
  • 410 Gone — это код, отправляемый, когда ресурса больше нет на сервере и нет адреса для пересылки.
  • 411 Length Required — это проблема клиента, из-за которой заголовок Content-Length не определен.
  • 412 Precondition Failed означает, что предварительные условия, отправленные на сервер, неточны
  • 413 Payload Too Large означает, что запрос больше, чем позволяет сервер.
  • 414 Слишком длинный URI означает, что URL-адрес слишком длинный для соответствия требованиям сервера.
  • 415 Неподдерживаемый тип носителя возникает, когда сервер отклоняет запрос типа мультимедиа, поскольку он не поддерживается.
  • 417 Ошибка ожидания указывает на то, что заголовок ожидания не выполнен.
  • 429 Слишком много запросов означает, что слишком много запросов. Часто вы увидите « возникла проблема с сетью 429». Это означает, что пользователь отправил слишком много запросов слишком быстро и достиг предела скорости.
  • 451 Недоступно по юридическим причинам — когда ресурс не может быть создан, часто из-за государственной цензуры.

Что означает код 406 неприемлемо?

Код ответа 406 сбивает с толку, но часто он вызван набором символов, который сервер не может интерпретировать. По большей части проблема, вызывающая этот тип ошибки, находится на стороне сервера.

Вы можете сделать несколько вещей, чтобы исправить код ответа HTTP 406:

  • Проверить правильность формирования URL
  • Попробуйте несколько платформ, чтобы проверить, существует ли ошибка
  • Просмотрите журналы, чтобы узнать, можете ли вы определить ошибку
  • .
  • Удаление или отключение новых подключаемых модулей

Если проблема возникает только после обновления сервера, попробуйте откатить обновление, чтобы устранить ее.

Как исправить ошибку 410

Проблема с сетью 410 возникает, когда ресурс больше не существует на исходном сервере. Зачастую единственным способом исправить эту проблему является восстановление ресурса. Администраторы сервера должны убедиться, что файл больше не существует, и заменить его или установить переадресацию 301.

Как исправить код HTTP 429

Ошибка 429 слишком много подключений означает, что клиент должен ждать, прежде чем отправить другой запрос. Вы можете изменить ограничение скорости сервера на более высокое значение, чтобы решить проблему, но это часто не рекомендуется. Вместо этого пользователь должен просто замедлить запросы, которые он отправляет.

Что такое ошибка 400 Bad Request?

Одной из наиболее распространенных ошибок, которые вы можете получить, является 400 Bad Request . Когда вы пытаетесь получить доступ к ресурсу, что-то неправильно . Как правило, возникает проблема с информацией заголовка запроса, или это может быть:

  • Синтаксические ошибки
  • Недопустимые файлы cookie или сеансы
  • Другие

Например, если перенаправление 404 по какой-либо причине не работает, может существовать ответ 400. Этот код может быть вызван неправильными настройками сервера или даже попыткой загрузить файл, превышающий ограничения сервера.

Зачем нужна кастомная страница 404 / Не игнорируйте коды ошибок 4XX

Предположим, что пользователь пытался зайти на ваш сайт и получил http код 403 от прокси после подключения или какой-то другой однозначный ответ. С точки зрения пользователя код означает, что что-то не так, и они часто покидают сайт.

Если вы используете массовую проверку 404, вы можете найти проблемы и исправить их.

Однако, если у вас есть проблема с Ajax 404, отследить проблему может быть еще сложнее, потому что вам придется больше копать, чтобы найти проблему.

Одним из способов решения проблем 4xx является использование пользовательских страниц.

Вы можете создать пользовательскую страницу для большинства ошибок, которые используют универсальный код или специфичны для определенных кодов, таких как 404 или 410. Основная причина, по которой вам нужны эти специальные страницы, заключается в том, что:

  • Они предупреждают пользователей о конкретных проблемах на понятном им языке
  • Вы можете проинструктировать пользователя, что делать дальше
  • Поисковые системы могут продолжать сканировать ваш сайт, если страница с ошибкой ссылается на него

С точки зрения взаимодействия с пользователем всегда лучше отправлять на пользовательскую страницу при возникновении ошибки.

Как создать пользовательскую страницу 404?

Во-первых, вам нужно спроектировать страницу, которую вы собираетесь сделать. Вы найдете множество бесплатных изображений 404 в Интернете на таких сайтах, как:

    • unsplash.com
    • pexels.com
    • Гораздо больше

Быстрый поиск в Google по запросу «404 image free» также предоставит вам много отличных вариантов. Далее, это так же просто, как использовать .htaccess для перенаправления любых ошибок на определенную страницу или сделать это в вашей теме WordPress, если вы используете платформу.

Ниже приведен пример использования .htaccess для перенаправления любых статусов 4xx, которые у вас могут быть:

ErrorDocument 404 http://www.example.com/error.html

Не забудьте выполнить собственный тест 404, чтобы узнать, что происходит при возникновении ошибки. Массовая проверка 404 также может показать вам, какие страницы имеют проблемы на вашем сайте, которые необходимо исправить.

  1. Если вам нужна помощь с идеями для вашей страницы, введите в Google следующее: «лучший индекс страницы 404».

Влияют ли коды 4XX на SEO?

Да и нет . По сути, эти коды носят технический характер и не используются в качестве сигнала ранжирования вашего сайта. Вы обнаружите, что многие люди борются с ошибкой YouTube 404 в Chrome из-за технических проблем, и в результате сайт никогда не теряет свой рейтинг.

Поисковые системы ожидают технических проблем с сайтом, и они есть на каждом сайте.

Знаменитый ответ об ошибке в Твиттере: код состояния = 429 является ярким примером того, что некоторые из самых популярных сайтов в мире имеют коды ошибок. Однако в некоторых случаях вы можете потерять трафик или некоторую индексацию из-за этих статусов.

Во-первых, давайте посмотрим, что означает код в аудите сайта, прежде чем углубляться в проблемы 404 SEO.

Что означает ошибка «4xx страница» в Site Audit?

При аудите сайта вы можете обнаружить ошибку 404. В конце концов, это один из самых распространенных кодов ответа после миграции или на протяжении всего срока службы сайта. Веб-сайты с пользовательским контентом имеют массу этих ошибок из-за высокой скорости оттока на сайте.

Перенаправление этих страниц может не иметь смысла, поэтому команды соглашаются на 404.

WordPress 404 после миграции также часто встречается из-за неправильной настройки. В большинстве аудитов сайта указывается фактический код ответа, чтобы вы могли отследить проблему и исправить ее.

Обратитесь к кодам и их значениям в первых нескольких разделах этой статьи.

Ошибки 4XX и их негативное влияние на SEO

Большое внимание уделяется ошибкам 404 и SEO. Если вы зайдете в свою консоль поиска Google, вы даже обнаружите, что Google перечисляет все проблемы, которые они обнаруживают на вашем сайте, включая коды ошибок 4xx.

Очевидно, что эти ошибки являются серьезной проблемой и основной причиной, по которой люди проверяют ошибки 404 и другие.

Вот некоторые из основных воздействий, которые могут произойти:

  • Потеря рейтинга . Google и другие поисковые системы знают, что такие коды ответов существуют. На самом деле, вы, вероятно, видели ошибку YouTube 404 not found, и сайт принадлежит Alphabet. Однако большинство проблем не повлияют на рейтинг. Если есть ресурс или страница, которые не были найдены несколько раз, они могут быть удалены из индекса, что будет означать потерю позиций.
  • Плохой UX : Пользовательский опыт является важной частью владения веб-сайтом, потому что это то, что заставляет пользователей возвращаться на ваш сайт. Если пользователь попадает на 429HTTP-код или другой в диапазоне 4xx, и нет соответствующего ответа на код, это повлияет на SEO, что приведет к высоким показателям отказов и низкому времени ожидания.
  • Проблемы с возможностью сканирования . Следует учитывать, что сканеры поисковых систем, которые заходят на страницы с ошибками без какой-либо возможности вернуться на сайт, могут повлиять на ваши общие показатели индексации.

Если ваш сайт засыпан кучей ошибок 4xx, это не значит, что это приведет к падению вашего рейтинга. Вот короткое видео Google на эту тему.

Google продолжает говорить, что коды состояния http 410, 404 или любые другие подходят, потому что это «техническая вещь». Однако, если страница или ресурс имеют большую ценность для SEO, вы можете перенаправить их, если они были удалены, чтобы сохранить часть созданной вами ценности страницы.

Как исправить ошибку 4XX

Если вы знаете, как проверить ошибку 404 на веб-сайте, вы можете найти множество других ответов 4xx.

Если вы знаете, как исправить ошибки сканирования 404 не найдено, нет простого способа определить основную проблему, если ресурс существует. Вам нужно будет глубже заглянуть в журналы сервера, чтобы найти основную причину ошибки. Однако в большинстве случаев проблема может быть решена быстрым обновлением страницы.

Другие варианты включают:

  • Проверка URL-адреса, чтобы убедиться, что он существует
  • Исправление любых неработающих ссылок
  • Проверить файлы конфигурации
  • Убедитесь, что сервер правильно настроен

Поскольку проблем с конфигурацией много, охватить их все невозможно. В идеале вы просмотрите свой отчет Google Analytics 404 или запустите инструмент, чтобы найти любые ошибки на вашем сайте, а затем просмотреть каждую из них, чтобы исправить их.

По крайней мере, если вы обнаружите UA 404 или что-то подобное, перенаправьте эти страницы на страницу с ошибкой, которой вы управляете.

Почему?

Вы хотите разрешить человеку или сканирующему роботу переходить на другие страницы вашего сайта. Даже робот Google 404 ссылается на основной сайт, если вы нажмете на изображение. В противном случае пользователи не будут знать, какие дополнительные шаги предпринять.

Обычно бесплатное исправление ошибки 404 — это просто исправление неработающей ссылки или URL-адреса, который неправильно набран.

Сводка

Если вы получаете ошибку 404 или ошибку сети 410, вы сможете уверенно идентифицировать эти проблемы. Конечно, если вы работаете в области SEO или являетесь веб-мастером, это руководство также поможет вам понять ключевые ответы с вашего сайта.

Код состояния протокола передачи гипертекста (HTTP) Реестр

100 Продолжить [RFC9110, раздел 15.2.1]
101 Протоколы переключения [RFC9110, раздел 15.2.2]
102 Обработка [RFC2518]
103 Ранние подсказки [RFC8297]
104-199 Не назначено
200 ОК [RFC9110, раздел 15. 3.1]
201 Создан [RFC9110, раздел 15.3.2]
202 Принято [RFC9110, раздел 15.3.3]
203 Неофициальная информация [RFC9110, раздел 15.3.4]
204 Нет содержания [RFC9110, раздел 15.3.5]
205 Сбросить содержимое [RFC9110, раздел 15.3.6]
206 Частичное содержание [RFC9110, раздел 15.3.7]
207 Мультистатус [RFC4918]
208 Уже сообщалось [RFC5842]
209-225 Не назначено
226 IM Используется [RFC3229]
227-299 Не назначено
300 Множественный выбор [RFC9110, раздел 15. 4.1]
301 Перемещено навсегда [RFC9110, раздел 15.4.2]
302 Найдено [RFC9110, раздел 15.4.3]
303 См. Другое [RFC9110, раздел 15.4.4]
304 Не изменено [RFC9110, раздел 15.4.5]
305 Использовать прокси [RFC9110, раздел 15.4.6]
306 (не используется) [RFC9110, раздел 15.4.7]
307 Временное перенаправление [RFC9110, раздел 15.4.8]
308 Постоянное перенаправление [RFC9110, раздел 15. 4.9]
309-399 Не назначено
400 Неверный запрос [RFC9110, раздел 15.5.1]
401 Неавторизованный [RFC9110, раздел 15.5.2]
402 Требуется оплата [RFC9110, раздел 15.5.3]
403 Запрещено [RFC9110, раздел 15.5.4]
404 Не найдено [RFC9110, раздел 15.5.5]
405 Метод не разрешен [RFC9110, раздел 15.5.6]
406 Неприемлемо [RFC9110, раздел 15. 5.7]
407 Требуется аутентификация прокси-сервера [RFC9110, раздел 15.5.8]
408 Время ожидания запроса [RFC9110, раздел 15.5.9]
409 Конфликт [RFC9110, раздел 15.5.10]
410 Ушел [RFC9110, раздел 15.5.11]
411 Требуемая длина [RFC9110, раздел 15.5.12]
412 Предварительное условие не выполнено [RFC9110, раздел 15.5.13]
413 Содержимое слишком большое [RFC9110, раздел 15. 5.14]
414 URI слишком длинный [RFC9110, раздел 15.5.15]
415 Неподдерживаемый тип носителя [RFC9110, раздел 15.5.16]
416 Неудовлетворительный диапазон [RFC9110, раздел 15.5.17]
417 Ожидание не оправдалось [RFC9110, раздел 15.5.18]
418 (не используется) [RFC9110, раздел 15.5.19]
419-420 Не назначено
421 Неверно направленный запрос [RFC9110, раздел 15. 5.20]
422 Необрабатываемый контент [RFC9110, раздел 15.5.21]
423 Заблокировано [RFC4918]
424 Неудачная зависимость [RFC4918]
425 Слишком рано [RFC8470]
426 Требуется обновление [RFC9110, раздел 15.5.22]
427 Не назначено
428Обязательное предварительное условие [RFC6585]
429 Слишком много запросов [RFC6585]
430 Не назначено
431 Слишком большие поля заголовка запроса [RFC6585]
432-450 Не назначено
451 Недоступно по юридическим причинам [RFC7725]
452-499 Не назначено
500 Внутренняя ошибка сервера [RFC9110, раздел 15. 6.1]
501 Не реализовано [RFC9110, раздел 15.6.2]
502 Плохой шлюз [RFC9110, раздел 15.6.3]
503 Служба недоступна [RFC9110, раздел 15.6.4]
504 Время ожидания шлюза [RFC9110, раздел 15.6.5]
505 Версия HTTP не поддерживается [RFC9110, раздел 15.6.6]
506 Вариант также согласовывается с [RFC2295]
507 Недостаточно памяти [RFC4918]
508 Обнаружена петля [RFC5842]
509 Не используется
510 Не расширен (УСТАРЕЛ) [RFC2774][status-change-http-experiments-to-исторический]
511 Требуется сетевая аутентификация [RFC6585]
512-599 Не назначено

Коды состояния HTTP — REST API Tutorial

REST API используют часть Status-Line ответного сообщения HTTP для информирования клиентов об общем результате их запроса. RFC 2616 определяет синтаксис строки состояния, как показано ниже:

Строка состояния = HTTP-версия SP Код состояния SP Reason-Phrase CRLF

HTTP определяет эти стандартные коды состояния, которые можно использовать для передачи результатов запрос клиента. Коды состояния разделены на пять категорий.

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

1xx Status Codes [Informational]

Status Code

Description

100 Continue

An interim response. Указывает клиенту, что начальная часть запроса получена и еще не отклонена сервером. Клиент ДОЛЖЕН продолжить отправку оставшейся части запроса или, если запрос уже был выполнен, проигнорировать этот ответ. Сервер ДОЛЖЕН отправить окончательный ответ после завершения запроса.

101 Протокол переключения

Отправляется в ответ на заголовок запроса на обновление от клиента и указывает протокол, на который переключается сервер.

102 Обработка (WebDAV)

Указывает, что сервер получил и обрабатывает запрос, но ответа пока нет.

103 Ранние подсказки

В первую очередь предназначен для использования с заголовком Link . Он предлагает агенту пользователя начать предварительную загрузку ресурсов, пока сервер готовит окончательный ответ.

2xx коды состояния [Успех]

. . .

.

Код состояния

Описание


7777. . . 977. . 7. 7.

201 Created

Указывает, что запрос выполнен успешно и в результате был создан новый ресурс.

202 Принят

Указывает, что запрос получен, но еще не выполнен. Обычно он используется в запросах на ведение журнала и пакетной обработке.

203 Неофициальная информация

Указывает, что возвращенная метаинформация в заголовке объекта не является окончательным набором, доступным на исходном сервере, а собрана из локальной или сторонней копии. Представленный набор МОЖЕТ быть подмножеством или надмножеством исходной версии.

204 Нет содержимого

Сервер выполнил запрос, но не должен возвращать тело ответа. Сервер может вернуть обновленную метаинформацию.

205 Сбросить содержимое

Указывает, что клиент должен сбросить документ, отправивший этот запрос.

206 Partial Content

Используется, когда заголовок Range отправляется от клиента для запроса только части ресурса.

207 Мультистатус (WebDAV)

Индикатор для клиента о том, что было выполнено несколько операций, и что статус каждой операции можно найти в тексте ответа.

208 Уже сообщалось (WebDAV)

Позволяет клиенту сообщить серверу, что тот же ресурс (с той же привязкой) упоминался ранее. Он никогда не отображается как истинный код ответа HTTP в строке состояния и отображается только в теле сообщения.

226 Используемый мгновенный обмен сообщениями

Сервер выполнил запрос GET для ресурса, и ответ представляет собой представление результата одной или нескольких манипуляций с экземпляром, примененных к текущему экземпляру.

3xx Status Codes [Redirection]

Status Code

Description

300 Multiple Choices

The request has more than one possible response. Пользовательский агент или пользователь должен выбрать один из них.

301 Перемещено навсегда

URL запрошенного ресурса был изменен навсегда. Новый URL задается Поле заголовка Location в ответе. Этот ответ можно кэшировать, если не указано иное.

302 Найдено

URL запрошенного ресурса был временно изменен. Новый URL-адрес задается полем Location в ответе. Этот ответ можно кэшировать только в том случае, если он указан в поле заголовка Cache-Control или Expires .

303 См. Другое

Ответ можно найти по другому URI, и его СЛЕДУЕТ извлекать с помощью метода GET для этого ресурса.

304 Не изменено

Указывает клиенту, что ответ не был изменен, поэтому клиент может продолжать использовать ту же кэшированную версию ответа.

305 Использовать прокси (устарело)

Указывает, что запрошенный ответ должен быть доступен через прокси.

306 (не используется)

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

307 Временное перенаправление

Указывает, что клиент должен получить запрошенный ресурс по другому URI тем же методом, который использовался в предыдущем запросе. Он аналогичен 302 Found за тем исключением, что будет использоваться тот же метод HTTP, что и в предыдущем запросе.

308 Постоянное перенаправление (экспериментальное)

Указывает, что ресурс теперь постоянно находится в другом URI, указанном в заголовке Location . Он аналогичен 301 Moved Permanently за тем исключением, что будет использоваться тот же метод HTTP, что и в предыдущем запросе.

4xx коды состояния (ошибка клиента)

Код состояния

Описание

400 Неверный запрос

Сервер не может понять запрос из-за неправильного синтаксиса. Клиент НЕ ДОЛЖЕН повторять запрос без изменений.

401 Неавторизованный

Указывает, что для запроса требуется информация для аутентификации пользователя. Клиент МОЖЕТ повторить запрос с подходящим полем заголовка авторизации

402 Требуется оплата (экспериментальная)

Зарезервировано для использования в будущем. Он предназначен для использования в цифровых платежных системах.

403 Запрещено

Несанкционированный запрос. У клиента нет прав доступа к содержимому. В отличие от 401, личность клиента известна серверу.

404 Не найдено

Сервер не может найти запрошенный ресурс.

405 Метод не разрешен

Метод запроса HTTP известен серверу, но отключен и не может использоваться для этого ресурса.

406 Неприемлемо

Сервер не находит контента, соответствующего критериям, заданным агентом пользователя в заголовке Accept , отправленном в запросе.

407 Требуется аутентификация прокси-сервера

Указывает, что клиент должен сначала пройти аутентификацию с помощью прокси-сервера.

408 Время ожидания запроса

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

409 Конфликт

Запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса.

410 Исчез

Запрошенный ресурс больше не доступен на сервере.

411 Требуемая длина

Сервер отказывается принимать запрос без определенной длины содержимого. Клиент МОЖЕТ повторить запрос, если он добавляет действительный Content-Length 9Поле заголовка 1636.

412 Precondition Failed

Клиент указал в своих заголовках предварительные условия, которым сервер не соответствует.

413 Объект запроса слишком велик

Объект запроса превышает ограничения, установленные сервером.

414 Request-URI Too Long

URI, запрошенный клиентом, длиннее, чем может интерпретировать сервер.

415 Неподдерживаемый тип носителя

Тип носителя в Тип содержимого запроса не поддерживается сервером.

416 Запрошенный диапазон невыполним

Диапазон, указанный полем заголовка Range в запросе, не может быть выполнен.

417 Ожидание не оправдалось

Ожидание, указанное в поле заголовка запроса Ожидание , не может быть выполнено сервером.

418 Я чайник (RFC 2324)

Это было определено как апрельская шутка и не ожидается, что оно будет реализовано настоящими HTTP-серверами. (RFC 2324)

420 Enhance Your Calm (Twitter)

Возвращается API поиска и трендов Twitter, когда скорость клиента ограничена.

422 Необрабатываемый объект (WebDAV)

Сервер понимает тип содержимого и синтаксис объекта запроса, но по какой-то причине сервер не может обработать запрос.

423 Заблокировано (WebDAV)

Ресурс, к которому осуществляется доступ, заблокирован.

424 Неудачная зависимость (WebDAV)

Запрос не выполнен из-за сбоя предыдущего запроса.

425 Слишком рано (WebDAV)

Указывает, что сервер не хочет рисковать обработкой запроса, который может быть воспроизведен.

426 Требуется обновление

Сервер отказывается выполнять запрос. Сервер обработает запрос после того, как клиент перейдет на другой протокол.

428 Требуется предварительное условие

Исходный сервер требует, чтобы запрос был условным.

429 Слишком много запросов

Пользователь отправил слишком много запросов за заданный промежуток времени («ограничение скорости»).

431 Поля заголовка запроса слишком велики

Сервер не хочет обрабатывать запрос, поскольку его поля заголовка слишком велики.

444 Нет ответа (Nginx)

Сервер Nginx не возвращает клиенту никакой информации и закрывает соединение.

449 Повторить с помощью (Microsoft)

Запрос следует повторить после выполнения соответствующего действия.

450 Заблокировано родительским контролем Windows (Microsoft)

Родительский контроль Windows включен и блокирует доступ к данной веб-странице.

451 Недоступен по юридическим причинам

Агент пользователя запросил ресурс, который не может быть предоставлен по закону.

499 Запрос клиента (Nginx)

Соединение закрывается клиентом, пока HTTP-сервер обрабатывает свой запрос, из-за чего сервер не может отправить заголовок HTTP обратно.

5xx коды состояния (ошибка сервера)

Status Code

Description

500 Internal Server Error

The server encountered an unexpected condition that prevented it from fulfilling the request.

501 Не реализовано

Метод HTTP не поддерживается сервером и не может быть обработан.

502 Bad Gateway

Сервер получил недопустимый ответ, работая в качестве шлюза, чтобы получить ответ, необходимый для обработки запроса.

503 Служба недоступна

Сервер не готов обработать запрос.

504 Время ожидания шлюза

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

505 Версия HTTP не поддерживается (экспериментальная)

Версия HTTP, используемая в запросе, не поддерживается сервером.

506 Вариант также согласовывается (экспериментальный)

Указывает, что сервер имеет внутреннюю ошибку конфигурации: выбранный ресурс варианта настроен на участие в прозрачном согласовании содержимого и, следовательно, не является надлежащей конечной точкой в переговорном процессе.

507 Недостаточно памяти (WebDAV)

Метод не может быть выполнен для ресурса, так как сервер не может сохранить представление, необходимое для успешного выполнения запроса.

508 Обнаружен цикл (WebDAV)

Сервер обнаружил бесконечный цикл при обработке запроса.

510 Не расширен

Дополнительные расширения запроса необходимы для его выполнения сервером.

511 Требуется сетевая аутентификация

Указывает, что клиент должен пройти аутентификацию для получения доступа к сети.

6. Специальные коды состояния HTTP REST

200 (ОК)

Это указывает на то, что REST API успешно выполнил любое действие, запрошенное клиентом, и что более конкретный код из серии 2xx не подходит.

В отличие от кода состояния 204, ответ 200 должен включать тело ответа. Информация, возвращаемая с ответом, зависит от метода, использованного в запросе, например:

  • GET объект, соответствующий запрошенному ресурсу, отправляется в ответе;
  • HEAD поля заголовка объекта, соответствующие запрошенному ресурсу, отправляются в ответе без какого-либо тела сообщения;
  • POST объект, описывающий или содержащий результат действия;
  • TRACE объект, содержащий сообщение запроса, полученное конечным сервером.
201 (Создано)

REST API отвечает кодом состояния 201 каждый раз, когда внутри коллекции создается ресурс. Также могут быть случаи, когда новый ресурс создается в результате какого-либо действия контроллера, и в этом случае 201 также будет подходящим ответом.

На вновь созданный ресурс можно ссылаться по URI, возвращенным в объекте ответа, причем наиболее конкретный URI для ресурса указан в поле заголовка Location.

Исходный сервер ДОЛЖЕН создать ресурс перед возвратом кода состояния 201. Если действие не может быть выполнено немедленно, сервер ДОЛЖЕН вместо этого ответить ответом 202 (принято).

202 (Принято)

Ответ 202 обычно используется для действий, обработка которых занимает много времени. Указывает на то, что запрос принят в обработку, но обработка не завершена. Запрос может быть или не быть обработан в конечном итоге, или даже может быть запрещен, когда происходит обработка.

Его цель — позволить серверу принять запрос для какого-либо другого процесса (возможно, пакетно-ориентированного процесса, который запускается только один раз в день), не требуя сохранения соединения пользовательского агента с сервером до завершения процесса.

Сущность, возвращаемая с этим ответом, СЛЕДУЕТ включать в себя указание текущего состояния запроса и либо указатель на монитор состояния (местоположение очереди заданий), либо некоторую оценку того, когда пользователь может ожидать выполнения запроса.

204 (без содержимого)

Код состояния 204 обычно отправляется в ответ на запрос PUT , POST или DELETE , когда REST API отказывается отправлять обратно какое-либо сообщение о состоянии или представление в ответе. тело сообщения.

API также может отправить 204 вместе с запросом GET, чтобы указать, что запрошенный ресурс существует, но не имеет представления состояния для включения в тело.

Если клиент является пользовательским агентом, ему НЕ СЛЕДУЕТ изменять представление документа по сравнению с тем, которое вызвало отправку запроса. Этот ответ в первую очередь предназначен для того, чтобы разрешить ввод для действий, не вызывая изменения в активном представлении документа пользовательского агента. Однако любую новую или обновленную метаинформацию СЛЕДУЕТ применять к документу, который в настоящее время находится в динамическом представлении пользовательского агента.

Ответ 204 НЕ ДОЛЖЕН включать тело сообщения и поэтому всегда заканчивается первой пустой строкой после полей заголовка.

301 (перемещено навсегда)

Код состояния 301 указывает на то, что модель ресурсов REST API была значительно переработана, а запрошенному клиентом ресурсу был назначен новый постоянный URI. REST API должен указать новый URI в заголовке Location ответа, и все будущие запросы должны быть направлены на данный URI.

Вы вряд ли будете использовать этот код ответа в своем API, поскольку вы всегда можете использовать версию API для нового API, сохраняя при этом старый.

302 (Найдено)

Код состояния ответа HTTP 302 Найдено — это распространенный способ выполнения перенаправления URL-адресов. Ответ HTTP с этим кодом состояния дополнительно предоставит URL-адрес в поле заголовка Location. Пользовательский агент (например, веб-браузер) приглашается ответом с этим кодом сделать второй. В противном случае идентично, запросите новый URL-адрес, указанный в поле местоположения.

Многие веб-браузеры реализовали этот код таким образом, что нарушили этот стандарт, изменив тип запроса нового запроса на GET, независимо от типа, использованного в исходном запросе (например, POST). В RFC 1945 и RFC 2068 указано, что клиенту не разрешено изменять метод перенаправленного запроса. Коды состояния 303 и 307 были добавлены для серверов, которые хотят однозначно указать, какая реакция ожидается от клиента.

303 (см. Другое)

Ответ 303 указывает на то, что ресурс контроллера завершил свою работу, но вместо отправки потенциально нежелательного тела ответа он отправляет клиенту URI ресурса ответа. Ответом может быть URI временного сообщения о состоянии или URI какого-либо уже существующего, более постоянного ресурса.

Вообще говоря, код состояния 303 позволяет REST API отправлять ссылку на ресурс, не заставляя клиента загружать его состояние. Вместо этого клиент может отправить запрос GET на значение заголовка Location.

Ответ 303 НЕ ДОЛЖЕН кэшироваться, но ответ на второй (перенаправленный) запрос может кэшироваться.

304 (не изменено)

Этот код состояния аналогичен 204 ("Нет содержимого") в том смысле, что тело ответа должно быть пустым. Критическое различие заключается в том, что 204 используется, когда в теле нечего отправлять, тогда как 304 используется, когда ресурс не был изменен с версии, указанной в заголовках запроса If-Modified-Since или If-None-Match.

В таком случае нет необходимости повторно передавать ресурс, так как у клиента все еще есть ранее загруженная копия.

Использование этого параметра экономит полосу пропускания и повторную обработку как на сервере, так и на клиенте, поскольку должны быть отправлены и получены только данные заголовка по сравнению со всей страницей, повторно обработанной сервером, а затем отправленной снова с использованием большей пропускной способности сервера. и клиент.

307 (Временное перенаправление)

Ответ 307 означает, что REST API не собирается обрабатывать запрос клиента. Вместо этого клиент должен повторно отправить запрос на URI, указанный в заголовке Location ответного сообщения. Однако в будущих запросах по-прежнему должен использоваться исходный URI.

REST API может использовать этот код состояния для назначения временного URI запрошенному клиентом ресурсу. Например, ответ 307 можно использовать для переноса запроса клиента на другой хост.

Временный URI СЛЕДУЕТ указывать в поле Location в ответе. Если метод запроса не был HEAD, объект ответа ДОЛЖЕН содержать короткую гипертекстовую заметку с гиперссылкой на новые URI. Если код состояния 307 получен в ответ на запрос, отличный от GET или HEAD пользовательский агент НЕ ДОЛЖЕН автоматически перенаправлять запрос, если только он не может быть подтвержден пользователем, поскольку это может изменить условия, при которых был отправлен запрос.

400 (неверный запрос)

400 — это общий статус ошибки на стороне клиента, используемый, когда никакой другой код ошибки 4xx не подходит. Ошибки могут быть такими, как искаженный синтаксис запроса, недопустимые параметры сообщения запроса или вводящая в заблуждение маршрутизация запроса и т. д.

Клиент НЕ ДОЛЖЕН повторять запрос без изменений.

401 (Неавторизованный)

Ответ об ошибке 401 означает, что клиент пытался работать с защищенным ресурсом, не предоставив надлежащую авторизацию. Возможно, он предоставил неверные учетные данные или вообще не предоставил их. Ответ должен включать поле заголовка WWW-Authenticate, содержащее запрос, применимый к запрошенному ресурсу.

Клиент МОЖЕТ повторить запрос с подходящим полем заголовка авторизации. Если запрос уже включал учетные данные авторизации, то ответ 401 указывает, что авторизация для этих учетных данных была отклонена. Если ответ 401 содержит тот же запрос, что и предыдущий ответ, и пользовательский агент уже пытался выполнить аутентификацию хотя бы один раз, то пользователю СЛЕДУЕТ представить сущность, указанную в ответе, поскольку эта сущность может включать соответствующую диагностическую информацию.

403 (Forbidden)

Ответ с ошибкой 403 свидетельствует о том, что запрос клиента сформирован правильно, но REST API отказывается его выполнять, т. е. пользователь не имеет необходимых прав доступа к ресурсу. Ответ 403 не является случаем недостаточности учетных данных клиента; это будет 401 («Неавторизованный»).

Аутентификация не поможет, и запрос НЕ ДОЛЖЕН повторяться. В отличие от ответа 401 Unauthorized, аутентификация не имеет значения.

404 (не найдено)

Код состояния ошибки 404 указывает на то, что REST API не может сопоставить URI клиента с ресурсом, но может быть доступен в будущем. Последующие запросы от клиента допустимы.

Не указано, является ли состояние временным или постоянным. Код состояния 410 (Gone) СЛЕДУЕТ использовать, если сервер через какой-то внутренне настраиваемый механизм знает, что старый ресурс постоянно недоступен и не имеет адреса пересылки. Этот код состояния обычно используется, когда сервер не хочет точно раскрывать, почему запрос был отклонен, или когда никакой другой ответ не применим.

405 (Метод не разрешен)

API отвечает ошибкой 405, указывающей, что клиент пытался использовать метод HTTP, который не разрешен ресурсом. Например, ресурс только для чтения может поддерживать только GET и HEAD, тогда как ресурс контроллера может разрешать GET и POST, но не PUT или DELETE.

Ответ 405 должен включать заголовок Allow, в котором перечислены методы HTTP, поддерживаемые ресурсом. Например:

 Разрешить: GET, POST 
406 (Неприемлемо)

Ответ об ошибке 406 указывает на то, что API не может генерировать ни один из предпочтительных типов мультимедиа клиента, как указано в заголовке запроса Accept. Например, клиентский запрос данных в формате application/xml получит ответ 406, если API готов отформатировать данные только как application/json .

Если ответ может быть неприемлемым, пользовательский агент ДОЛЖЕН временно прекратить получение дополнительных данных и запросить у пользователя решение о дальнейших действиях.

412 (Ошибка предварительного условия)

Ответ об ошибке 412 указывает на то, что клиент указал одно или несколько предварительных условий в заголовках своих запросов, фактически сообщая REST API о выполнении запроса только при соблюдении определенных условий. Ответ 412 указывает на то, что эти условия не были выполнены, поэтому вместо выполнения запроса API отправляет этот код состояния.

415 (неподдерживаемый тип носителя)

Ответ об ошибке 415 указывает на то, что API не может обработать предоставленный клиентом тип носителя, как указано в заголовке запроса Content-Type. Например, запрос клиента, включающий данные в формате application/xml получит ответ 415, если API готов обрабатывать данные только в формате application/json .

Например, клиент загружает изображение в формате image/svg+xml, но сервер требует, чтобы изображения использовали другой формат.

500 (внутренняя ошибка сервера)

500 — это общий ответ об ошибке REST API.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *