Эта статья может быть полезна тем, кто пишет программу, работающую с HTTP. При запросе какого либо документа сервер выдает служебную информацию, которую просто необходимо анализировать для дальнейшей работы. Самой первой строкой сервер возвращает так называемый код ответа, являющийся числом в диапазоне 100-599 и определяющий результат запроса. Эти коды распределены по следующим группам: 100-199 :: Информационный код.
200-299 :: Успешный запрос клиента.
300-399 :: Переадресация запроса клиента.
400-499 :: Ошибочный запрос.
500-599 :: Ошибка сервера.
Рассмотрим эти группы поподробнее:
Информационный Ответ. Коды 100-199.
Указывает на то, что идет обработка запроса клиента.
100 Continue. Возможно продолжение запроса клиента.
101 Switching Protocols. Сервер использует запрос клиента для переключения протоколов.
Успешный Запрос Клиента. Коды 200-299.
Запрос клиента успешен, возможно продолжение работы.
200 ОК. Запрос успешен, сервер возвращает запрошенный документ.
201 Created. Сервер создает новый ресурс. Обычно является результатом запроса PUT.
202 Accepted. Запрос клиента принят.
203 Non-Authoritative Information. Информация в заголовке объекта предоставлена не сервером.
204 No Content.Запрос успешен, но в ответе отсутствует контент.
205 Reset Content.Программа просмотра должна очистить форму, используемую для этой транзакции для дополнительного ввода.
206 Partial Content.Сервер не может возвратить всю запрошенную информацию.
Переадресация Запроса Клиента. Коды 300-399.
Запрос не был выполнен, необходимо обратиться к другому ресурсу для его выполнения.
300 Multiple Choices. Требуемый URL обращается больше чем к одному ресурсу (документ на множественных языках).
301 Moved Permanently. Требуемый URL не правилен для этого сервера, и произошла ошибка. Сервер также посылает заголовок местоположения, где ресурс теперь расположен и где клиент должен указать его в будущем.
302 Moved Temporarily. Требуемый URL не правилен для сервера, и произошла ошибка. Сервер также посылает заголовок местоположения, где временно расположен ресурс и сообщение, что сервер должен использовать это местоположение только для этого запроса.
303 See Other. Требуемый URL может быть найден в отличном URL (указанным в заголовке Location) и должен быть запрошен методом GET на том ресурсе.
304 Not Modified. Этот код возвращается сервером на запрос "If-Modified-Since" в том случае, если запрошенный документ не изменился. Тогда программа просмотра использует его кэшированную копию.
305 Use Proxy. Требуемый URL должен пройти указанный прокси.
Ошибочный Запрос Клиента. Коды 400-499.
Запрос клиента не может выполниться, так как содержит ошибки.
400 Bad Request. В запросе клиента обнаружена синтаксическая ошибка.
401 Unauthorized. Для доступа к запрошенному URL необходима авторизация, а в запросе отсутствует опознавательная информация.
402 Payment Required. не используется.
403 Forbidden. Доступ к запрошенному ресурсу запрещен.
404 Not Found. Запрошенный документ не существует.
405 Method Not Allowed. Метод запроса не поддерживается запрошенным URL.
406 Not Acceptable. Ресурс, запрошенный клиентом, существует, но не в требуемом формате. Это может быть заданный язык или тип содержания.
407 Proxy Authentication Required. Прокси-сервер должен разрешить запрос перед его выполнением.
408 Request Time-out. Соединение будет разорвано сервером.
409 Conflict. Запрос находится в противоречии с другим запросом или с конфигурацией сервера.
410 Gone. Этот код указывает, что требуемый URL больше не существует и удален с сервера.
411 Length Required. Для выполнения запроса необходимо указать параметр Content-Length.
412 Precondition Failed. Предварительное условие не выполняется.
413 Request Entity Too Large. Сервер не может обработать запрос, потому что тело его объекта слишком велико.
414 Request-URL Too Long. Сервер не может обработать запрос, потому что запрошенный URL слишком длинный.
415 Unsupported Media Type. Сервер не может обработать запрос, потому что формат тела его объекта не поддерживается.
Ошибка Сервера. Коды 500-599.
Запрос клиента вызвал ошибку на сервера.
500 Internal Server Error. Запрос вызвал внутреннюю ошибку сервера.
501 Not Implemented. Запрошенное клиентом действие не может быть выполнено сервером.
502 Bad Gateway. Сервер получил недопустимый ответ от другого сервера.
503 Service Unavailable. Запрошенная служба в данный момент недоступна.
504 Gateway Time-out. Разорвана связь со шлюзом или прокси-сервером.
505 HTTP Version not supported. Сервер не поддерживает версию HTTP протокола, используемого в запросе.