Справочник по кодам статуса 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 | Сервер отказывается обрабатывать запрос, потому что значение поля |
422 | Необрабатываемый элемент/Unprocessable Entity | Сервер не в состоянии обработать один (или более) элемент запроса. |
423 | Заблокировано/Locked | Сервер отказывается обработать запрос, так как один из требуемых ресурсов заблокирован. |
424 | Неверная зависимость/Failed Dependency | Сервер отказывается обработать запрос, так как один из зависимых ресурсов заблокирован. |
426 | Требуется обновление/Upgrade Required | Сервер запросил апгрейд соединения до SSL, но SSL не поддерживается клиентом. |
429 | Слишком много запросов/Too Many Requests | Отправлено слишком много запросов за короткое время. |
Коды ответа HTTP — HTTP
Информационные | |||
---|---|---|---|
100 | Continue | «Продолжить». Этот промежуточный ответ указывает, что запрос успешно принят и клиент может продолжать присылать запросы либо проигнорировать этот ответ, если запрос был завершён. | Только HTTP/1.1 |
101 | Switching Protocol | «Переключение протокола». Этот код присылается в ответ на запрос клиента, содержащий заголовок Upgrade: , и указывает, что сервер переключился на протокол, который был указан в заголовке. Эта возможность позволяет перейти на несовместимую версию протокола и обычно не используется. | Только HTTP/1.1 |
102 | Processing | «В обработке».![]() | Только HTTP/1.1 |
103 | Early Hints | «Ранние подсказки». В ответе сообщаются ресурсы, которые могут быть загружены заранее, пока сервер будет подготавливать основной ответ. RFC 8297 (Experimental). | Только HTTP/1.1 |
Успешные | |||
200 | OK | «Успешно». Запрос успешно обработан. Что значит «успешно», зависит от метода HTTP, который был запрошен:
| HTTP/0.9 и выше |
201 | Created | «Создано».![]() | HTTP/0.9 и выше |
202 | Accepted | «Принято». Запрос принят, но ещё не обработан. Не поддерживаемо, т.е., нет способа с помощью HTTP отправить асинхронный ответ позже, который будет показывать итог обработки запроса. Это предназначено для случаев, когда запрос обрабатывается другим процессом или сервером, либо для пакетной обработки. | HTTP/0.9 и выше |
203 | Non-Authoritative Information | «Информация не авторитетна». Этот код ответа означает, что информация, которая возвращена, была предоставлена не от исходного сервера, а из какого-нибудь другого источника. Во всех остальных ситуациях более предпочтителен код ответа 200 OK. | HTTP/0.9 и 1.1 |
204 | No Content | «Нет содержимого». Нет содержимого для ответа на запрос, но заголовки ответа, которые могут быть полезны, присылаются.![]() | HTTP/0.9 и выше |
205 | Reset Content | «Сбросить содержимое». Этот код присылается, когда запрос обработан, чтобы сообщить клиенту, что необходимо сбросить отображение документа, который прислал этот запрос. | Только HTTP/1.1 |
206 | Partial Content | «Частичное содержимое». Этот код ответа используется, когда клиент присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в несколько потоков. | Только HTTP/1.1 |
Сообщения о перенаправлениях | |||
300 | Multiple Choice | «Множественный выбор». Этот код ответа присылается, когда запрос имеет более чем один из возможных ответов. И User-agent или пользователь должен выбрать один из ответов. Не существует стандартизированного способа выбора одного из полученных ответов. | HTTP/1.0 и выше |
301 | Moved Permanently | «Перемещён на постоянной основе». Этот код ответа значит, что URI запрашиваемого ресурса был изменён. Возможно, новый URI будет предоставлен в ответе. | HTTP/0.9 и выше |
302 | Found | «Найдено». Этот код ответа значит, что запрошенный ресурс временно изменён. Новые изменения в URI могут быть доступны в будущем. Таким образом, этот URI, должен быть использован клиентом в будущих запросах. | HTTP/0.9 и выше |
303 | See Other | «Просмотр других ресурсов». Этот код ответа присылается, чтобы направлять клиента для получения запрашиваемого ресурса в другой URI с запросом GET. | HTTP/0.9 и 1.1 |
304 | Not Modified | «Не модифицировано». Используется для кеширования. Это код ответа значит, что запрошенный ресурс не был изменён.![]() | HTTP/0.9 и выше |
305 | Use Proxy | «Использовать прокси». Это означает, что запрошенный ресурс должен быть доступен через прокси. Этот код ответа в основном не поддерживается из соображений безопасности. | Только HTTP/1.1 |
306 | Switch Proxy | Больше не использовать. Изначально подразумевалось, что » последующие запросы должны использовать указанный прокси.» | Только HTTP/1.1 |
307 | Temporary Redirect | «Временное перенаправление». Сервер отправил этот ответ, чтобы клиент получил запрошенный ресурс на другой URL-адрес с тем же методом, который использовал предыдущий запрос. Данный код имеет ту же семантику, что код ответа 302 Found , за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST , то во втором запросе также должен использоваться POST .![]() | Только HTTP/1.1 |
308 | Permanent Redirect | «Перенаправление на постоянной основе». Это означает, что ресурс теперь постоянно находится в другом URI, указанном в заголовке 301 Moved Permanently , за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если POST использовался в первом запросе, POST должен использоваться и во втором запросе.Примечание: Это экспериментальный код ответа, Спецификация которого в настоящее время находится в черновом виде. | draft-reschke-http-status-308 |
Клиентские | |||
400 | Bad Request | «Плохой запрос». Этот ответ означает, что сервер не понимает запрос из-за неверного синтаксиса. | HTTP/0.9 и выше |
401 | Unauthorized | «Неавторизованно».![]() | HTTP/0.9 и выше |
402 | Payment Required | «Необходима оплата». Этот код ответа зарезервирован для будущего использования. Первоначальная цель для создания этого когда была в использовании его для цифровых платёжных систем(на данный момент не используется). | HTTP/0.9 и 1.1 |
403 | Forbidden | «Запрещено». У клиента нет прав доступа к содержимому, поэтому сервер отказывается дать надлежащий ответ. | HTTP/0.9 и выше |
404 | Not Found | «Не найден». Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверно, самый известный из-за частоты его появления в вебе. | HTTP/0.9 и выше |
405 | Method Not Allowed | «Метод не разрешён». Сервер знает о запрашиваемом методе, но он был деактивирован и не может быть использован.![]() GET и HEAD , никогда не должны быть деактивированы и не должны возвращать этот код ошибки. | Только HTTP/1.1 |
406 | Not Acceptable | Этот ответ отсылается, когда веб сервер после выполнения server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent. | Только HTTP/1.1 |
407 | Proxy Authentication Required | Этот код ответа аналогичен коду 401, только аутентификация требуется для прокси сервера. | Только HTTP/1.1 |
408 | Request Timeout | Ответ с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соединение. Этот метод используется все чаще с тех пор, как некоторые браузеры, вроде Chrome и IE9, стали использовать HTTP механизмы предварительного соединения для ускорения сёрфинга (смотрите баг 634278, будущей реализации этого механизма в Firefox).![]() | Только HTTP/1.1 |
409 | Conflict | Этот ответ отсылается, когда запрос конфликтует с текущим состоянием сервера. | Только HTTP/1.1 |
410 | Gone | Этот ответ отсылается, когда запрашиваемый контент удалён с сервера. | Только HTTP/1.1 |
411 | Length Required | Запрос отклонён, потому что сервер требует указание заголовка | Только HTTP/1.1 |
412 | Precondition Failed | Клиент указал в своих заголовках условия, которые сервер не может выполнить | Только HTTP/1.1 |
413 | Request Entity Too Large | Размер запроса превышает лимит, объявленный сервером. Сервер может закрыть соединение, вернув заголовок | Только HTTP/1.![]() |
414 | Request-URI Too Long | URI запрашиваемый клиентом слишком длинный для того, чтобы сервер смог его обработать | Только HTTP/1.1 |
415 | Unsupported Media Type | Медиа формат запрашиваемых данных не поддерживается сервером, поэтому запрос отклонён | Только HTTP/1.1 |
416 | Requested Range Not Satisfiable | Диапазон указанный заголовком запроса Range не может быть выполнен; возможно, он выходит за пределы переданного URI | Только HTTP/1.1 |
417 | Expectation Failed | Этот код ответа означает, что ожидание, полученное из заголовка запроса Expect , не может быть выполнено сервером. | Только HTTP/1.1 |
Серверные | |||
500 | Internal Server Error | «Внутренняя ошибка сервера». Сервер столкнулся с ситуацией, которую он не знает как обработать.![]() | HTTP/0.9 и выше |
501 | Not Implemented | «Не выполнено». Метод запроса не поддерживается сервером и не может быть обработан. Единственные методы, которые сервера должны поддерживать (и, соответственно, не должны возвращать этот код) — GET и HEAD . | HTTP/0.9 и выше |
502 | Bad Gateway | «Плохой шлюз». Эта ошибка означает что сервер, во время работы в качестве шлюза для получения ответа, нужного для обработки запроса, получил недействительный (недопустимый) ответ. | HTTP/0.9 и выше |
503 | Service Unavailable | «Сервис недоступен». Сервер не готов обрабатывать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом удобная для пользователей(user-friendly) страница должна отправлять объяснение проблемы. Этот ответ должен использоваться для временных условий и Retry-After: HTTP-заголовок должен, если возможно, содержать предполагаемое время до восстановления сервиса.![]() | HTTP/0.9 и выше |
504 | Gateway Timeout | Этот ответ об ошибке предоставляется, когда сервер действует как шлюз и не может получить ответ вовремя. | Только HTTP/1.1 |
505 | HTTP Version Not Supported | «HTTP-версия не поддерживается». HTTP-версия, используемая в запросе, не поддерживается сервером. | Только HTTP/1.1 |
Коды состояний 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 | Требуется оплата | Этот код был создан для использования во время онлайн-платежа, но в настоящее время не используется для этой цели.![]() |
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 4xx
Коды состояния HTTP серии 4xx принимаются в ответе сервера, когда в запросе от клиента есть ошибка. Это указывает на то, что браузер отправил неправильный запрос с ошибкой, которая не может быть обработана веб-сервером. Вам нужно проверить браузер и снова отправить правильный запрос, чтобы получить правильный ответ. Вот полный список кодов состояния HTTP 4xx с пояснениями.
Код состояния 4xx | Описание | Объяснение |
---|---|---|
400 | неверный запрос | Веб-сервер не может выполнить полученный запрос из-за неправильного синтаксиса и отправляет в ответ код «400 — Bad Request».![]() |
401 | Несанкционированный запрос | Код «401 — неавторизован» получен, когда пользователь пытается получить доступ к аутентифицированному ресурсу. Сервер еще не получил аутентификацию или получил неверную аутентификацию. Простой пример — это веб-страница, аутентифицированная идентификатором пользователя и паролем, как правило, для зарегистрированного пользователя. |
402 | Требуется оплата | Этот код был создан для использования во время онлайн-платежа, но в настоящее время не используется для этой цели. Некоторые серверы используют код 402 для разных целей, например, для информирования о слишком большом количестве запросов, полученных с определенного IP-адреса. |
403 | Доступ к ресурсу запрещен | Код «403 — Запрещен» получен, когда сервер получает действительный запрос, но отказывается отвечать. Это отличается от «401 — неавторизовано», поскольку запрос должен быть авторизован паролем, но аутентификация не повлияет на код 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 принимается, когда сервер отклоняет запрос по причине того, что полученный запрос слишком длинный для обработки сервером. |
414 | URL запроса слишком длинный | Код состояния 414 HTTP принимается, когда сервер отклоняет запрос по причине того, что URL-адрес запрошенного ресурса слишком длинный для обработки сервером. |
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, когда сервер не может получить доступ к почтовому ящику пользователя.
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).
- 502.1 — истекло время ожидания приложения CGI.
503 — служба недоступна.
IIS 7.0 или более поздних версий определяет приведенные ниже коды состояния HTTP, которые указывают на более конкретную причину ошибки 503.
- 503.0 — пул приложений недоступен.
- 503.2 — достигнут предел одновременно выполняемых запросов.
- 503.3 — очередь ASP.NET переполнена
- 503.4 — очередь FastCGI переполнена
В нижеприведенной таблице описаны причины отображения некоторых распространенных кодов состояния HTTP.
Код | Описание | Примечания |
---|---|---|
200 | OK | Запрос успешно обработан IIS 7.0 или более поздних версий. |
304 | Не изменено | Клиентский браузер запрашивает документ, который уже находится в кэше.![]() |
400 | Недопустимый запрос | Файл стека протокола HTTP (Http.sys) препятствует обработке запроса службами IIS 7.0 или более поздних версий из-за проблемы в запросе. Обычно этот код состояния HTTP означает, что запрос содержит недопустимые символы или последовательности или же противоречит параметрам безопасности в файле Http.sys. |
401.1 | Ошибка входа в систему | Безуспешная попытка входа в систему, вероятно, из-за недопустимого имени пользователя или пароля. |
401.2 | Вход не выполнен из-за настройки сервера | Этот код состояния HTTP указывает на проблему в параметрах конфигурации проверки подлинности на сервере. |
401.3 | Доступ запрещен списком управления доступом к ресурсу | Этот код состояния HTTP указывает на проблему в разрешениях файловой системы NTFS.![]() |
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.6 | IP-адрес отклонен | Сервер настроен на запрет доступа к текущему IP-адресу. |
403.7 | Требуется сертификат клиента | Сервер настроен на требование сертификата для проверки подлинности клиента. Но в клиентском браузере не установлен соответствующий сертификат клиента. Дополнительные сведения см. в статье Ошибка HTTP 403.![]() |
403.8 | Нет доступа к сайту | Сервер настроен на отклонение запросов на основе DNS-имени клиентского компьютера. Дополнительные сведения см. в статье Динамическое ограничение IP-адресов. |
403.12 | Доступ запрещен модулем сопоставления | Доступ к странице возможен только при наличии сертификата клиента. Но идентификатору пользователя, сопоставленному с сертификатом клиента, отказано в доступе к файлу. |
403.13 | Сертификат клиента отозван | Клиентский браузер пытается использовать сертификат клиента, отозванный выдающим центром сертификации. |
403.14 | Вывод каталогов запрещен | Сервер не настроен для отображения списков каталогов содержимого, и не установлен документ по умолчанию. Дополнительные сведения см. в статье Ошибка «HTTP 403.14 — Запрещено» при открытии веб-страницы IIS. |
403.![]() | Сертификат клиента недействителен либо не является доверенным. | Клиентский браузер пытается использовать недействительный клиентский сертификат. Или сервер, на котором запущены 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 или более поздних версий.![]() |
500.15 | Прямые запросы для Global.asax запрещены. | Сделан прямой запрос на файл Global.asa или файл Global.asax. |
500.19 | Недопустимые данные конфигурации. | Этот код состояния HTTP возникает из-за проблемы в связанном файле applicationhost.config или связанном файле Web.config. Дополнительные сведения см. в статье Ошибка HTTP 500.19 при открытии веб-страницы IIS. |
500.100 | Внутренняя ошибка ASP. | Ошибка возникает при обработке страницы ASP. Чтобы получить более конкретную информацию об этой ошибке, отключите вывод подробных сообщений об ошибках HTTP в веб-браузере.![]() |
503.0 | Служба недоступна. | Запрос отправлен в пул приложений, который в настоящее время остановлен или отключен. Для устранения этой проблемы необходимо убедиться, что конечный пул приложений запущен. В журнале событий могут содержаться сведения о том, почему пул приложений остановлен или отключен. |
503.2 | Превышено максимально допустимое количество одновременно выполняемых запросов. | Для свойства appConcurrentRequestLimit установлено значение, которое меньше текущего количества одновременно выполняемых запросов. IIS 7.0 или более поздних версий не допускает одновременное выполнение запросов, количество которых превышает значение свойства appConcurrentRequestLimit . |
Дополнительный код | Описание |
---|---|
400.10 | Недействительный заголовок XFF |
400.![]() | Недействительный запрос 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 с их значениями.
Прежде чем перейти к кодам состояния 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 | Время ожидания запроса | Сервер должен получить запрос от клиента в течение указанного времени.![]() |
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 также может показать вам, какие страницы имеют проблемы на вашем сайте, которые необходимо исправить.
- Если вам нужна помощь с идеями для вашей страницы, введите в 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.![]() |
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.![]() |
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.![]() |
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.![]() |
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.![]() |
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.![]() |
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.![]() |
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 Ранние подсказки | В первую очередь предназначен для использования с заголовком |
2xx коды состояния [Успех]
. . ..
Код состояния | Описание |
---|---|
7777. . . 977. . 7. 7. | |
201 Created | Указывает, что запрос выполнен успешно и в результате был создан новый ресурс. |
202 Принят | Указывает, что запрос получен, но еще не выполнен. Обычно он используется в запросах на ведение журнала и пакетной обработке. |
203 Неофициальная информация | Указывает, что возвращенная метаинформация в заголовке объекта не является окончательным набором, доступным на исходном сервере, а собрана из локальной или сторонней копии. Представленный набор МОЖЕТ быть подмножеством или надмножеством исходной версии. |
204 Нет содержимого | Сервер выполнил запрос, но не должен возвращать тело ответа. Сервер может вернуть обновленную метаинформацию. |
205 Сбросить содержимое | Указывает, что клиент должен сбросить документ, отправивший этот запрос. |
206 Partial Content | Используется, когда заголовок |
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 задается |
302 Найдено | URL запрошенного ресурса был временно изменен. |
303 См. Другое | Ответ можно найти по другому URI, и его СЛЕДУЕТ извлекать с помощью метода GET для этого ресурса. |
304 Не изменено | Указывает клиенту, что ответ не был изменен, поэтому клиент может продолжать использовать ту же кэшированную версию ответа. |
305 Использовать прокси (устарело) | Указывает, что запрошенный ответ должен быть доступен через прокси. |
306 (не используется) | Это зарезервированный код состояния, который больше не используется. |
307 Временное перенаправление | Указывает, что клиент должен получить запрошенный ресурс по другому URI тем же методом, который использовался в предыдущем запросе. Он аналогичен |
308 Постоянное перенаправление (экспериментальное) | Указывает, что ресурс теперь постоянно находится в другом URI, указанном в заголовке |
4xx коды состояния (ошибка клиента)
Код состояния | Описание |
---|---|
400 Неверный запрос | Сервер не может понять запрос из-за неправильного синтаксиса. |
401 Неавторизованный | Указывает, что для запроса требуется информация для аутентификации пользователя. Клиент МОЖЕТ повторить запрос с подходящим полем заголовка авторизации |
402 Требуется оплата (экспериментальная) | Зарезервировано для использования в будущем. Он предназначен для использования в цифровых платежных системах. |
403 Запрещено | Несанкционированный запрос. У клиента нет прав доступа к содержимому. В отличие от 401, личность клиента известна серверу. |
404 Не найдено | Сервер не может найти запрошенный ресурс. |
405 Метод не разрешен | Метод запроса HTTP известен серверу, но отключен и не может использоваться для этого ресурса. |
406 Неприемлемо | Сервер не находит контента, соответствующего критериям, заданным агентом пользователя в заголовке |
407 Требуется аутентификация прокси-сервера | Указывает, что клиент должен сначала пройти аутентификацию с помощью прокси-сервера. |
408 Время ожидания запроса | Указывает, что сервер не получил полный запрос от клиента в течение выделенного сервером периода времени ожидания. |
409 Конфликт | Запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса. |
410 Исчез | Запрошенный ресурс больше не доступен на сервере. |
411 Требуемая длина | Сервер отказывается принимать запрос без определенной длины содержимого. Клиент МОЖЕТ повторить запрос, если он добавляет действительный |
412 Precondition Failed | Клиент указал в своих заголовках предварительные условия, которым сервер не соответствует. |
413 Объект запроса слишком велик | Объект запроса превышает ограничения, установленные сервером. |
414 Request-URI Too Long | URI, запрошенный клиентом, длиннее, чем может интерпретировать сервер. |
415 Неподдерживаемый тип носителя | Тип носителя в |
416 Запрошенный диапазон невыполним | Диапазон, указанный полем заголовка |
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.