Некоторые параметры HTTP-запроса: 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Некоторые параметры HTTP-запроса:



Connection (соединение) - может принимать значения Keep-Alive и close. Keep-Alive ("оставить в живых") означает, что после выдачи данного документа соединение с сервером не разрывается, и можно выдавать еще запросы. Большинство браузеров работают именно в режиме Keep-Alive, так как он позволяет за одно соединение с сервером "скачать" html-страницу и рисунки к ней. Будучи однажды установленным, режим Keep-Alive сохраняется до первой ошибки или до явного указания в очередном запросе Connection: close.
close ("закрыть") - соединение закрывается после ответа на данный запрос.

User-Agent - значением является "кодовое обозначение" браузера, например:

Mozilla/4.0 (compatible; MSIE 5.0; Windows 95; DigExt)

Accept - список поддерживаемых браузером типов содержимого в порядке их предпочтения данным браузером, например:

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*

Это, очевидно, нужно для случая, когда сервер может выдавать один и тот же документ в разных форматах.

Значение этого параметра используется в основном CGI-скриптами для формирования ответа, адаптированного для данного браузера.

Referer - URL, с которого перешли на этот ресурс.

Host - имя хоста, с которого запрашивается ресурс. Полезно, если на сервере имеется несколько виртуальных серверов под одним IP-адресом. В этом случае имя виртуального сервера определяется по этому полю.

Accept-Language - поддерживаемый язык. Имеет значение для сервера, который может выдавать один и тот же документ в разных языковых версиях.

Формат 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.

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

Код Название Описание
  Продолжайте Клиент должен продолжать передачу запроса.
  Переключение протоколов Сервер предлагает изменить протокол на указанный в поле заголовка отклика Update. Обычно это предложение о переходе на более новую версию HTTP.
  Отклик мог устареть Отклик является устаревшим (используется в заголовке Warning).
  Обновление не удалось Отклик от кэша не является свежим, т. к. попытка обновить его закончилась неудачей (используется в заголовке Warning).
  Разрыв соединения Кэш был умышленно отсоединен от остальной сети на некоторое время (используется в заголовке Warning).
  Эвристическое устаревание Кэш эвристически выбрал период обновления, больший 24 часов, и возраст отклика более 24 часов (используется в заголовке Warning).
  Различные предупреждения Дополнительные предупреждения, не содержащиеся в данном списке (используется в заголовке Warning).
  OK Запрос был успешно обработан. Содержимое отклика зависит от типа запроса.
  Создано Запрос был успешно обработан и в результате был создан новый ресурс. Его URI указан в поле заголовка отклика Location.
  Принято Запрос был принят, и его обработка началась другим асинхронным процессом, поэтому сервер не сможет сообщить о ее завершении.
  Неавторитетная информация Возвращаемая метаинформация получена не от сервера ее происхождения, а из локальной копии.
  Нет содержимого Сервер выполнил запрос, но ему нечего возвращать клиенту. Обозреватель не должен изменять отображение документа.
  Сброс содержимого Сервер выполнил запрос, и обозреватель должен сбросить отображение документа.
  Частичное содержимое Сервер выполнил частичный запрос GET для ресурса.
  Применено преобразование Применено преобразование, изменившее кодировку или тип MIME отклика (используется в заголовке Warning).
  Различные настойчивые предупреждения Дополнительные предупреждения, не содержащиеся в данном списке (используется в заголовке Warning).
  Несколько вариантов Запрошенный ресурс имеет несколько представлений, и клиент должен выбрать одно из них.
  Ресурс перенесен Запрошенный ресурс сменил свой URI. Его новый URI указан в поле заголовка отклика Location.
  Найдено Запрошенный ресурс временно сменил свой URI.
  Смотри другое Отклик на данный запрос может быть найден под другим URI, указанным в поле заголовка отклика Location.
  Не изменено Клиент выполнил условный запрос GET, доступ разрешен, но документ не был изменен.
  Используйте прокси Доступ к запрошенному ресурсу возможен только через прокси-сервер, указанный в поле заголовка отклика Location.
  зарезервирован  
  Временное перенаправление Запрошенный ресурс временно находится под другим URI, указанном в поле заголовка отклика Location.
  Неверный запрос Запрос не был понят сервером из-за его неверного синтаксиса.
  Нет права доступа Запрос требует авторизации доступа, тип которой указан в поле заголовка отклика WWW-Authenticate.
  Требуется платеж Зарезервировано для следующих версий HTTP.
  Запрещено Сервер понял запрос, но отказался его выполнять.
  Не найдено Ресурс, заданный в URI запроса, не найден.
  Недопустимый метод Данный тип запроса не применим к ресурсу, заданному в URI запроса.
  Неприемлемо Ресурс, заданный в URI запроса, может генерировать только отклики, не приемлемые для клиента.
  Прокси требует авторизации доступа Прокси-сервер требует авторизации доступа, тип которой указан в поле заголовка отклика Proxy-Authenticate.
  Таймаут запроса Клиент не послан ни одного запроса в течение отведенного ему интервала.
  Конфликт Запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса.
  Ресурс исчез Запрошенного ресурса больше нет на сервере, и сервер не знает его нового URI.
  Требуется длина запроса В запросе не задано поле заголовка Content-Length.
  Условие ложно Условие, заданное в заголовке условного запроса, не может быть выполнено.
  Слишком длинное тело запроса Тело запроса длиннее, чем допускает сервер.
  Слишком длинное URI запроса URI запроса длиннее, чем допускает сервер.
  Не поддерживаемый тип устройства Формат тела запроса не поддерживается данным ресурсом для данного типа запроса.
  Запрошенный диапазон пуст Запрошенный ресурс не содержит значений в диапазоне, заданном в поле заголовка запроса Range.
  Предположение не оправдалось Предположение, указанное в поле заголовка запроса Expect, отвергнуто сервером.
  Внутренняя ошибка сервера Запрос не исполнен из-за неожиданной ошибки сервера.
  Не реализовано Сервер не поддерживает данный тип запросов.
  Плохой шлюз Сервер, выступающий в роли шлюза или прокси-сервера, получил неверный отклик от следующего сервера.
  Служба недоступна Сервер временно не может исполнить запрос из-за перегрузки.
  Таймаут шлюза Сервер, выступающий в роли шлюза или прокси-сервера, не получил своевременного отклика от следующего сервера.
  Версия HTTP не поддерживается Сервер не поддерживает версию HTTP, указанную в заголовке запроса.

 

 

 



Поделиться:


Последнее изменение этой страницы: 2017-02-22; просмотров: 198; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.108.54 (0.008 с.)