Коды состояний и ошибок 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 (Показывать уведомление о каждой ошибке сценария).