Коды состояний и ошибок HTTP
В интерфейс HttpServl etResponse входят константы для обозначения всех кодов состояний и ошибок HTTP. Они перечислены в табл. А. 18. По существу это та же информация, которая содержится в спецификации RFC 2616, где описан стандарт HTTP 1.1. Вообще коды можно разделить на следующие категории:
серия 100-199 — информационные коды, процесс продолжается;
серия 200-299 — коды указывают, что процесс был успешным;
серия 300-399 — переадресация, для выполнения запроса требуются дальнейшие действия;
серия 400-499 — ошибка клиента, в запросе содержатся синтаксические ошибки или запрос не может быть выполнен;
серия 500-599 — ошибка сервера, сервер отказывается выполнять заведомо корректный запрос.
Сами коды ошибок перечислены в табл. А. 19.
Таблица А.18. Константы HTTP для кодов состояний
Имя константы |
Величина |
Описание | |||
SC_CONTINUE | 100 | Клиент может продолжать работу | |||
SC_SWITCHING_PROTOCOLS | 101 | Сервер меняет протоколы в соответствии с содержимым заголовка Upgrade HTTP-запроса | |||
SCJJK | 200 | Запрос обработан успешно | |||
SC_CREATED | 201 | Запрос обработан успешно, на сервере в ответ на него создан новый документ | |||
SC_ACCEPTED | 202 | Запрос был принят, но его обработка еще не закончена | |||
SC NON AUTHORITATIVE INFORMATION | 203 | Некоторые заголовки ответов могут быть неверными, так как используется копия документа | |||
SC_NO_CONTENT | 204 | Запрос обработан успешно,, но отсутствует новая информация, которую можно было бы вернуть с ответом | |||
SC_RESET_CONTENT | 205 | Браузер должен обновить документ, который вызвал отправку запроса на сервер | |||
SC_PARTIAL_CONTENT | 206 | Сервер выполнил частичный запрос для данного ресурса методом GET | |||
SC_MULTIPLE_CHOICES | 300 | Запрошенный ресурс представлен в нескольких документах, расположенных в разных местах | |||
SC_MOVED_PERMANENTLY | 301 | Ресурс перемещен в новое место, где он будет находиться постоянно. Все дальнейшие ссылки на этот ресурс должны использовать новый URI-адрес | |||
SCJWEDJEMPORARI LY | 302 | Ресурс перемещен в новое место временно. Все дальнейшие ссылки для доступа к этому ресурсу должны использовать прежний URI-адрес | |||
SC_SEE_OTHER | 303 | Ответ на данный запрос может быть найден с использованием другого URI-адреса | |||
SC_NOT_MODIFIED | 304 | В результате выполнения условного запроса методом GET оказалось, что данный ресурс доступен, но не был изменен | |||
SC_USE_PROXY | 305 | Запрашиваемый ресурс должен возвращаться через прокси-сервер, заданный в поле Location |
Таблица А.19. Константы для кодов ошибок HTTP
Имя константы |
Величина |
Описание |
SC_BAD_REQUEST | 400 | Запрос, посланный клиентом, синтаксически неверен |
SC_UNAUTHORIZED | 401 | В поле Authorization запроса отсутствует необходимая для аутентификации информация |
SC_PAYMENT_REQUIRED | 402 | Зарезервировано для будущего использования |
SC_FORBIDDEN | 403 | Сервер понимает запрос, но отказывается его выполнить |
SC_NOT_FOUND | 404 | Запрошенный ресурс невозможно найти по указанному адресу |
SC_METHOD_NOT_ALLOWED | 405 | Заданный метод запроса не разрешен для ресурса, идентифицированного с помощью указанного URJ- адреса |
SC_NOT_ACCEPTABLE | 406 | Запрашиваемый ресурс может генерировать ответы только таких MIME-типов, которые несовместимы с типами, заданными клиентом в поле Accept запроса |
SC PROXY AUTHENIFICATION REQUIRED | 407 | Клиент должен пройти аутентификацию на прокси-сервере |
SC_REQUEST_TIMEOUT | 408 | Клиент не послал запрос в тот промежуток времени, когда сервер был готов принять его |
SC_CONFLICT | 409 | Запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса |
SCJ30NE | 410 | Ресурс недоступен более на этом сервере, и не указан адрес для перенаправления запроса |
SC_LENGTH_REQUIRED | 411 | Запрос не может быть выполнен в отсутствие определенного клиентом заголовка Content -Length |
SC_PRECONDITION_FAILED | 412 | Входное условие, заданное в одном или нескольких полях заголовка запроса, при тестировании на сервере оказалось ложным |
SC_REQUEST_ENTITYJOO_LARGE | 413 | Сервер отказывается обрабатывать запрос, так как размер запрашиваемого документа больше, чем сервер готов или способен обрабатывать |
SC_REQUESTJJRI_TOO_LONG | 414 | Сервер отказывается выполнять запрос, так как приведенный в нем URI-адрес слишком длинный для того, чтобы сервер мог его обработать |
SC_UNSUPPORTED_MEDIA_TYPE | 415 | Сервер отказывается выполнять запрос, так как в запросе содержится документ в таком формате, который не поддерживается запрошенным ресурсом для метода, указанного в запросе |
SC REQUESTED RANGE NOT SATISFIABLE | 416 | В запросе содержится невыполнимый для сервера заголовок Range |
SC_EXPECTATION_FAILED | 417 | Сервер не может выполнить то задание, которое указано в заголовке Expect запроса клиента |
SC_INTERNAL_SERVER_ERROR | 500 | Запрос не может быть выполнен по причине ошибки внутри HTTP-сервера |
SC_NOT_IMPLEMENTED | 501 | HTTP-сервер не поддерживает функции, необходимые для выполнения запроса |
SC_BAD_GATEWAY | 502 | HTTP-сервер получил неверный ответ от удаленного сервера, по отношению к которому он выполнял роль прокси-сервера или шлюза |
SC_SERVICE_INAVAILABLE | 503 | HTTP-сервер временно перегружен и не может ответить на запрос |
SC_GATEWAY_TIMEOUT | 504 | Сервер, который используется в качестве прокси- сервера или шлюза, не получил своевременный ответ от удаленного сервера |
SC HTTP VERSION NONSUPPORTED | 505 | Сервер не поддерживает или отказывается поддерживать версию протокола HTTP, используемую в запросе |
ПРИМЕЧАНИЕ
Для диагностики кодов ошибок в Microsoft Internet Explorer имеется так называемый дружественный режим, который не позволяет пользователю увидеть фактические сообщения об ошибках в сервлетах или JSP-страницах. Для отключения этого режима выберите команду Tools > Internet Options (Сервис > Свойства обозревателя), в открывшемся окне перейдите на вкладку Advanced (Дополнительно) и снимите флажок Show Friendly Http Error Messages (Показывать уведомление о каждой ошибке сценария).