This version of the page http://www.rx-support.net/index.php/article/httperror4xx (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2011-11-14. The original page over time could change.
4xx: Client Error (Ошибка клиента) | RX-HOST

4xx: Client Error (Ошибка клиента)

Author admin acount on September 15, 2010 | Print | Bookmark


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

400 Bad Request (Плохой запрос)

Появился в HTTP/1.0.

Означает, что сервер обнаружил в запросе клиента синтаксическую ошибку.

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

Появился в HTTP/1.0.

Запрос требует идентификации пользователя. Сервер должен запросить имя и пароль у пользователя, а тот передаст их в заголовке WWW-Authenticate в следующем запросе. Если были указаны неверные данные, то сервер снова вернёт этот же статус.

402 Payment Required (Необходима оплата)

Зарезервирован начиная с HTTP/1.1.

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

Обратите внимание что этот код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний. Если не оплачена услуга хостинга сайта, то логичней возвращать клиенту ответ из класса 5xx. Например, как cPanel или DirectAdmin возвращает ответ 509 (Bandwidth Limit Exceeded) когда площадкой превышен лимит на потребление трафика.

403 Forbidden (Запрещено)

Сервер вернул ошибку 403 при попытке просмотра директории «cgi-bin», доступ к которой был запрещён.

Появился в HTTP/1.0.

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

Если для доступа к ресурсу требуется аутентификация средствами HTTP, то сервер вернёт ответ 401 (или 407 для прокси). В противном случае ограничения были заданы администратором сервера или разработчиком веб-приложения и могут быть любыми в зависимости от возможностей используемого ПО.

В любом случае клиенту следует сообщить причины отказа в обработке запроса.

Наиболее вероятными причинами ограничения могут послужить:

    * Попытка доступа к системным ресурсам веб-сервера (например, файлам .htaccess или .htpasswd) или к файлам, доступ к которым был закрыт с помощью конфигурационных файлов.
    * Для доступа требуется аутентификация не средствами HTTP (например, для доступа к CMS или разделу для зарегистрированных пользователей).
    * Сервер не удовлетворён IP-адресом клиента (например, временная блокировка из-за частых обращений или же на этапе разработки приложения доступ разрешён только некоторым IP).

404 Not Found (Не найдено)

Некоторые разработчики оригинальны в уведомлении пользователей об ошибках. Перед вами сообщение об ошибке 404 на официальном сайте Белого Дома США (whitehouse.gov) в виде официального обращения.

Появился в HTTP/1.0.

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

405 Method Not Allowed (Метод не применим)

Появился в HTTP/1.1.

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

Обратите внимание что эту ошибку сервер должен возвращать если метод ему известен, но он не применим именно к указанному в запросе ресурсу. Если же указанный метод не применим на всём сервере, то клиенту нужно вернуть ответ 501 (Not Implemented).

406 Not Acceptable (Не приемлемо)

Появился в HTTP/1.1.

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


407 Proxy Authentication Required (Необходима авторизация прокси)

Появился в HTTP/1.1.

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

408 Request Timeout (Время ожидания истекло)

Появился в HTTP/1.1.

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

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

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

409 Conflict (Конфликт)

Появился в HTTP/1.1.

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

410 Gone (Удалён)

Появился в HTTP/1.1.

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

411 Length Required (Необходима длина)

Появился в HTTP/1.1.

Для указанного ресурса клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI.

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

412 Precondition Failed (Условие «ложно»)

Появился в HTTP/1.1.

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

413 Request Entity Too Large (Размер запроса слишком велик)

Появился в HTTP/1.1.

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

414 Request-URL Too Long (Запрашиваемый URL слишком длинный)

Появился в HTTP/1.1.

Сервер не может обработать запрос из-за слишком длинного указанного URL. Такую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET, а не POST.

415 Unsupported Media Type (Неподдерживаемый тип данных)

Появился в HTTP/1.1.

По каким-то причинам сервер отказывается работать с указанным типом данных при данном методе.

416 Requested Range Not Satisfiable (Запрашиваемый диапазон не достижим)

Введено в RFC 2616 (обновление HTTP/1.1).

В поле Range заголовка запроса был указан диапазон за пределами ресурса и отсутствует поле If-Range. Если клиент передал байтовый диапазон, то сервер может вернуть реальный размер в поле Content-Range заголовка. Данный ответ не следует использовать при передаче типа multipart/byteranges.

417 Expectation Failed (Ожидаемое не приемлемо)

Введено в RFC 2616 (обновление HTTP/1.1).

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

422 Unprocessable Entity (Необрабатываемый экземпляр)

Введено в WebDAV.

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

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

Введено в WebDAV.

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

424 Failed Dependency (Невыполненная зависимость)

Введено в WebDAV.

Реализация текущего запроса может зависеть от успешности выполнения другой операции. Если она не выполнена и из-за этого нельзя выполнить текущий запрос, то сервер вернёт код 424.

425 Unordered Collection (Неупорядоченный набор)

Введено в черновике по WebDAV Advanced Collections Protocol.

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

426 Upgrade Required (Необходимо обновление)

Введено в RFC 2817 для возможности перехода к TLS посредством HTTP.

Сервер указывает клиенту на необходимость обновить протокол. Заголовок ответа должен содержать правильно сформированные поля Upgrade и Connection.

449 Retry With (Повторить с...)

Введено корпорацией Microsoft для WebDAV.

Возвращается сервером если для обработки запроса от клиента поступило не достаточно информации. При этом в заголовок ответа помещается поле Ms-Echo-Request.

В настоящий момент как минимум используется программой Microsoft Money. Более подробную информацию по данному коду ответа можно получить в библиотеке MSDN

Was this article helpful?

Yes No

Category: Виртуальный хостинг, Виртуальные сервера, Выделенные сервера

Last updated on September 15, 2010 with 523 views