Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТ.doc
Скачиваний:
18
Добавлен:
27.11.2019
Размер:
1.12 Mб
Скачать

6.2.2 Формат http-ответа:

Формат ответа очень похож на формат запроса: он также имеет заголовок и тело, разделенное пустой строкой.

Заголовок также состоит из основной строки и строк параметров, но формат основной строки отличается от таковой в заголовке запроса.

Основная строка запроса состоит из 3-х полей, разделенных пробелами:

Версия протокола - аналогичен соответствующему параметру запроса.

6.2.3 Код возврата (ошибки, состояния) - кодовое обозначение "успешности" выполнения запроса.

Например, код 200 означает "все нормально" (OK).

Значения кодов возврата по первой цифре: 1xx: Информационный - Не используется, но зарезервирован для использования в будущем 2xх: Успех - Запрос был полностью получен, понят, и принят к обработке. 3xx: Перенаправление - Клиенту следует предпринять дальнейшие действия для успешного выполнения запроса. Необходимое дополнительное действие иногда может быть выполнено клиентом без взаимодействия с пользователем, но настоятельно рекомендуется, чтобы это имело место только в тех случаях, когда метод, использующийся в запросе безразличен (GET или HEAD). 4xx: Ошибка клиента - Запрос, содержащий неправильные синтаксические конструкции, не может быть успешно выполнен. Класс 4xx предназначен для описания тех случаев, когда ошибка была допущена со стороны клиента. Если клиент еще не завершил запрос, когда он получил ответ с Статус-Кодом- 4xx, он должен немедленно прекратить передачу данных серверу. Данный тип Статус-Кодов применим для любых методов, употребляющихся в запросе. 5xx: Ошибка Сервера - Сервер не смог дать ответ на корректно поставленный запрос. В этих случаях сервер либо знает, что он допустил ошибку, либо не способен обработать запрос. За исключением ответов на запросы HEAD, сервер посылает описание ошибочной ситуации и то, является ли это состояние временным или постоянным, в Содержание-Ответа. Данный тип Статус-Кодов применим для любых методов, употребляющихся в запросе.

Наиболее часто встречающиеся: "200"; OK - документ отправлен. "404"; Not Found - документ не найден (ошибка URL), клиент должен проверить правильность написания URL, если не помогает, значит, документ уже удален. "500"; Internal Server Error - внутренняя ошибка сервера, клиент исправить не может, только администратор сервера.

Словесное описание ошибки - "расшифровка" предыдущего кода. Например, для 200 это OK, для 500 - Internal Server Error.

Таблица кодов возврата

Код

Название

Описание

100

Продолжайте

Клиент должен продолжать передачу запроса.

101

Переключение протоколов

Сервер предлагает изменить протокол на указанный в поле заголовка отклика Update. Обычно это предложение о переходе на более новую версию HTTP.

110

Отклик мог устареть

Отклик является устаревшим (используется в заголовке Warning).

111

Обновление не удалось

Отклик от кэша не является свежим, т. к. попытка обновить его закончилась неудачей (используется в заголовке Warning).

112

Разрыв соединения

Кэш был умышленно отсоединен от остальной сети на некоторое время (используется в заголовке Warning).

113

Эвристическое устаревание

Кэш эвристически выбрал период обновления, больший 24 часов, и возраст отклика более 24 часов (используется в заголовке Warning).

199

Различные предупреждения

Дополнительные предупреждения, не содержащиеся в данном списке (используется в заголовке Warning).

200

OK

Запрос был успешно обработан. Содержимое отклика зависит от типа запроса.

201

Создано

Запрос был успешно обработан и в результате был создан новый ресурс. Его URI указан в поле заголовка отклика Location.

202

Принято

Запрос был принят, и его обработка началась другим асинхронным процессом, поэтому сервер не сможет сообщить о ее завершении.

203

Неавторитетная информация

Возвращаемая метаинформация получена не от сервера ее происхождения, а из локальной копии.

204

Нет содержимого

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

205

Сброс содержимого

Сервер выполнил запрос, и обозреватель должен сбросить отображение документа.

206

Частичное содержимое

Сервер выполнил частичный запрос GET для ресурса.

214

Применено преобразование

Применено преобразование, изменившее кодировку или тип MIME отклика (используется в заголовке Warning).

299

Различные настойчивые предупреждения

Дополнительные предупреждения, не содержащиеся в данном списке (используется в заголовке Warning).

300

Несколько вариантов

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

301

Ресурс перенесен

Запрошенный ресурс сменил свой URI. Его новый URI указан в поле заголовка отклика Location.

302

Найдено

Запрошенный ресурс временно сменил свой URI.

303

Смотри другое

Отклик на данный запрос может быть найден под другим URI, указанным в поле заголовка отклика Location.

304

Не изменено

Клиент выполнил условный запрос GET, доступ разрешен, но документ не был изменен.

305

Используйте прокси

Доступ к запрошенному ресурсу возможен только через прокси-сервер, указанный в поле заголовка отклика Location.

306

зарезервирован

307

Временное перенаправление

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

400

Неверный запрос

Запрос не был понят сервером из-за его неверного синтаксиса.

401

Нет права доступа

Запрос требует авторизации доступа, тип которой указан в поле заголовка отклика WWW-Authenticate.

402

Требуется платеж

Зарезервировано для следующих версий HTTP.

403

Запрещено

Сервер понял запрос, но отказался его выполнять.

404

Не найдено

Ресурс, заданный в URI запроса, не найден.

405

Недопустимый метод

Данный тип запроса не применим к ресурсу, заданному в URI запроса.

406

Неприемлемо

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

407

Прокси требует авторизации доступа

Прокси-сервер требует авторизации доступа, тип которой указан в поле заголовка отклика Proxy-Authenticate.

408

Таймаут запроса

Клиент не послан ни одного запроса в течение отведенного ему интервала.

409

Конфликт

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

410

Ресурс исчез

Запрошенного ресурса больше нет на сервере, и сервер не знает его нового URI.

411

Требуется длина запроса

В запросе не задано поле заголовка Content-Length.

412

Условие ложно

Условие, заданное в заголовке условного запроса, не может быть выполнено.

413

Слишком длинное тело запроса

Тело запроса длиннее, чем допускает сервер.

414

Слишком длинное URI запроса

URI запроса длиннее, чем допускает сервер.

415

Не поддерживаемый тип устройства

Формат тела запроса не поддерживается данным ресурсом для данного типа запроса.

416

Запрошенный диапазон пуст

Запрошенный ресурс не содержит значений в диапазоне, заданном в поле заголовка запроса Range.

417

Предположение не оправдалось

Предположение, указанное в поле заголовка запроса Expect, отвергнуто сервером.

500

Внутренняя ошибка сервера

Запрос не исполнен из-за неожиданной ошибки сервера.

501

Не реализовано

Сервер не поддерживает данный тип запросов.

502

Плохой шлюз

Сервер, выступающий в роли шлюза или прокси-сервера, получил неверный отклик от следующего сервера.

503

Служба недоступна

Сервер временно не может исполнить запрос из-за перегрузки.

504

Таймаут шлюза

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

505

Версия HTTP не поддерживается

Сервер не поддерживает версию HTTP, указанную в заголовке запроса.