Случается, что при запросе сайта или страницы сайта, web-браузер выдает ошибку. Ошибка обозначена цифровым кодом и кратким описанием. Пример: Error 404 Not Found. Что же означают эти коды?
(101-199) Информационные ответы
Ответы в диапазоне 100-199 информационные, они показывают, что запрос клиента принят и обрабатывается.
- 100 - Continue - Начальная часть запроса принята, и клиент может продолжать передачу запроса.
- 101 - Switching Protocols - Сервер выполняет требование клиента и переключает протоколы в соответствии с указанием, данным в поле заголовка Upgrade. Успешные запросы клиента
(200-299) Успешные запросы клиента
Ответы в диапазоне 200-299 означают, что запрос клиента обработан успешно.
- 200 - OK - Запрос клиента обработан успешно, и ответ сервера содержит затребованные данные.
- 201 - Created - Этот код состояния используется в случае создания нового URL. Вместе с этим кодом результата сервер выдает заголовок Location, который содержит информацию о том, куда были помещены новые данные.
- 202 - Accepted - Запрос принят, но обрабатывается не сразу. В теле содержимого ответа сервера может быть дана дополнительная информация о данной транзакции. Гарантии того, что сервер в конечном итоге удовлетворит запрос, нет, даже несмотря на то, что на момент приема запрос выглядел допустимым.
- 203 - Non-Authoritative Information - Информация в заголовке содержимого взята из локальной копии или у третьей стороны, а не с исходного сервера.
- 204 - No Content - Ответ содержит код состояния и заголовок, но тело содержимого отсутствует. При получении этого ответа броузер не должен обновлять свой документ. Обработчик чувствительных областей изображений может возвращать этот код, когда пользователь щелкает на бесполезных или пустых участках изображения.
- 205 - Reset Content - Броузер должен очистить форму, используемую в данной транзакции, для дополнительных входных данных. Полезен для CGI-приложений, требующих ввода данных.
- 206 - Partial Content - Сервер возвращает лишь часть данных затребованного объема. Используется в ответе на запрос с указанием заголовка Range. Сервер должен указать диапазон, включенный в ответ, в заголовке Content-Range.
(300-399) Переадресация
Код ответа в диапазоне 300-399 означает, что запрос не выполнен и клиенту нужно предпринять некоторые действия для удовлетворения запроса.
- 300 - Multiple Choices (несколько вариантов на выбор) - затребованный URL обозначает более одного ресурса. Например, URL может обозначать документ, переведенный на несколько языков. В теле содержимого, возвращенном сервером, может находиться перечень более конкретных данных о том, как выбрать ресурс правильно.
- 301 - Moved Permanently (ресурс перемещен на постоянной основе) - затребованный URL уже не используется сервером, и указанная в запросе операция не выполнена. Новое местонахождение затребованного документа указывается в заголовке Location. Во всех последующих запросах данного документа следует указывать новый URL.
- 302 - Moved Temporarily (ресурс временно перемещен) - затребованный URL перемешен, но лишь временно. Заголовок Location указывает на новое местонахождение. Сразу же после получения этого кода состояния клиент должен разрешить запрос при помощи нового URL, но во всех последующих запросах необходимо пользоваться старым URL.
- 303 - See Other (смотрите другой ресурс) - затребованный URL можно найти по другому URL (указанному в заголовке Location).
- 304 - Not Modified (не изменился) - это код ответа на заголовок lf-Modified-Since, если URL не изменялся с указанной даты. Тело содержимого не посылается, и клиент должен использовать свою локальную копию.
- 305 - Use Proxy (используйте прокси-сервер) - oбращение к запрошенному ресурсу должно производиться через прокси-сервер, указанный в поле Location. В поле Location указан URL прокси-сервера. Ожидается, что получатель повторит запрос через прокси-сервер.
(400-499) Неполные запросы клиента
Коды ответов в диапазоне 400-499 означают, что запрос клиента неполный. Эти коды могут также означать, что от клиента требуется дополнительная информация.
- 400 - Bad Request (некорректный запрос) - запрос не может быть понят сервером из-за malformed синтаксиса. Клиенту не следует повторять запрос без модификаций.
- 401 - Unauthorized (нет разрешения) - запрос требует установления подлинности пользователя. Ответ должен включать поле заголовка WWW-Authenticate, содержащее вызов (challenge), применимый к запрошенному ресурсу. Клиент может повторить запрос с подходящим полем заголовка Authorization. Если запрос уже включает рекомендации установления подлинности (Authorization credentials) в поле Authorization, то ответ с кодом состояния 401 указывает, что в установлении подлинности этим рекомендациям отказано. Если ответ с кодом состояния 401 содержит тот же самый вызов, что и предшествующий ответ, а агент пользователя уже делал попытку установления подлинности по крайней мере один раз, то следует показать пользователю объект, который был дан в ответе, так как этот объект может включать relevant диагностическую информацию.
- 402 - Payment Required (требуется оплата) - Этот код зарезервирован для будущего использования. В данный момент в HTTP еще не реализован.
- 403 - Forbidden (доступ запрещен) - запрос отклонен по той причине, что сервер не хочет (или не имеет возможности) ответить клиенту.
- 404 - Not Found (ресурс не найден) - документ по указанному URL не существует, сервер не нашел ничего, соответствующего данному запрашиваемому URI (Request-URI). Никак не сообщается является ли такое положение временным или постоянным.
- 405 - Method Not Allowed (недопустимый метод) - этот код выдается с заголовком Allow и показывает, что метод, используемый клиентом, для данного URL не поддерживается.
- 406 - Not Acceptable (неприемлемый запрос) - ресурс, идентифицируемый запросом, имеет возможности генерации только таких объектов ответа, которые имеют характеристики содержимого (content characteristics), не согласующиеся с заголовками приема (accept headers), представленными в запросе.
- 407 - Proxy Authentication Required (необходима регистрация на сервере-представителе) - этот код подобен коду 401 (Несанкционированно, Unauthorized), но указывает, что клиент должен сначала установить свою подлинность (authenticate) прокси-серверу. Прокси-сервер должен возвратить поле заголовка Proxy-Authenticate, содержащее вызов (challenge), применяемый прокси-сервером для запрошенного ресурса. Клиент может повторить запрос с подходящим полем заголовка Proxy-Authorization.
- 408 - Request Timeout (время обработки запроса истекло) - клиент не произвел запрос в течение времени, которое сервер готов ждать. Клиент может повторить запрос без модификаций позже.
- 409 - Conflict (конфликт) - запрос не был выполнен из-за конфликта с текущим состоянием ресурса. Этот код позволяется только в ситуациях, когда ожидается, что пользователь может решить конфликт и повторно передать запрос.
- 410 - Gone (ресурса больше нет) - данный код показывает, что затребованный URL больше не существует и навсегда удален с сервера.
- 411 - Length Required (необходимо указать длину) - сервер отказывается принимать запрос с неопределенным Content-Length. Клиент может повторить запрос, если добавит допустимое поле заголовка Content-Length, содержащее длину тела сообщения (message-body) в сообщении запроса.
- 412 - Precondition Failed (не выполнено предварительное условие) - сервер отказывается обрабатывать запрос, потому что объект запроса больше, чем сервер желает или способен обработать. Сервер может закрыть соединение, чтобы не дать клиенту возможность продолжить запрос. Если это временное состояние, то серверу СЛЕДУЕТ включить поле заголовка Retry-After для указания времени, через которое клиент может снова повторить запрос.
- 413 - Request Entity Too Large (запрашиваемый элемент слишком велик) - сервер не будет обрабатывать запрос, потому что его тело слишком велико.
- 414 - Request-URI Too Long (идентификатор ресурса в запросе слишком длинный) - сервер не будет обрабатывать запрос, потому что его URL слишком длинный.
- 415 - Unsupported Media Type (неподдерживаемый тип устройства) - сервер отказывается обслуживать запрос, потому что объект запроса находится в формате, не поддерживаемом запрошенным ресурсом для запрошенного метода.
(500-599) Ошибки сервера
Коды ответов в диапазоне 500-599 показывают, что сервер столкнулся с ошибкой и, вероятно, не сможет выполнить запрос клиента
- 500 - Internal Server Error (внутренняя ошибка сервера) - при обработке запроса на сервере один из его компонентов (например, CGI-программа) выдал аварийный отказ или столкнулся с ошибкой конфигурации.
- 501 - Not Implemented (функция не реализована) - клиент запросил выполнение действия, которое сервер выполнить не может, сервер не поддерживает функциональные возможности, требуемые для выполнения запроса. Этот ответ соответствует состоянию, когда сервер не распознает метод запроса и не способен обеспечить его для любого ресурса.
- 502 - Bad Gateway (дефект шлюза) - сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос.
- 503 - Service Unavailable (служба недоступна) - данный код означает, что данная служба временно недоступна, но в будущем доступ к ней будет восстановлен. Если сервер знает, когда это произойдет, может быть также выдан заголовок Retry-After.
- 504 - Gateway Timeout (время прохождения через шлюз истекло) - этот ответ похож на 408 (Request Time-out), за исключением того, что шлюз или уполномоченный сервер превысил лимит времени.
- 505 - HTTP Version Not Supported (неподдерживаемая версия HTTP) - сервер не поддерживает версию протокола HTTP, использованную в запросе.
Источник:
- Википедия
- Портал свободных Админов
- Статья "Ответы сервера"
Ссылки по теме:
- Всё о HTTP
- Реестр кодов состояния (IANA)
- RFC 2817 (англ.)