Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Заголовки запросов

Методы

Соединения

Протокол HTTP

Стандартным протоколом для передачи данных по Всемирной паутине является HTTP (HyperText Transfer Protocol – протокол передачи гипертекста). Он описывает сообщения, которыми могут обмениваться клиенты и серверы. Каждое взаимодействие состоит из одного ASCII-запроса, на который следует один ответ. Все клиенты и все серверы должны следовать этому протоколу.

Обычный способ взаимодействия браузера с сервером заключается в установке ТСР-соединения с портом 80 сервера.

В HTTP 1.0 после установки соединения посылался один запрос, на который приходил один ответ. После этого TCP-соединение разрывалось. В то время типичная веб-страница целиком состояла из HTML-текста, и такой способ взаимодействия был адекватным. Однако прошло несколько лет, и в странице оказалось множество значков, изображений и других украшений. Очевидно, что установка TCP-соединения для передачи одного значка нерациональна и слишком дорога.

Это соображение привело к созданию протокола HTTP 1.1, который поддерживал устойчивые соединения. Это означало, что появилась возможность установки TCP-соединения, отправки запроса, получения ответа, а затем передачи и приема дополнительных запросов и ответов. Таким образом, снизились накладные расходы, возникавшие при постоянных установках и разрывах соединения.

Стало возможным также конвейеризировать запросы, то есть отправлять запрос 2 еще до прибытия ответа на запрос 1.

 

Несмотря на то, что HTTP был разработан специально для использования в веб–технологиях, он был намеренно сделан более универсальным, чем это было необходимо, так как рассчитывался на будущее применение в объектно-ориентированных приложениях. По этой причине в дополнение к обычным запросам веб-вебстраниц были разработаны специальные операции, называемые методами. Каждый запрос состоит из одной или нескольких строк ASCII, причем первое слово является именем вызываемого метода. Помимо этих общих методов, у различных объектов могут быть также свои специфические методы.

Встроенные методы HTTP-запросов

Метод Описание
GET Запрос чтения веб-страницы
HEAD Запрос чтения заголовка веб-страницы
PUT Запрос сохранения веб-страницы
DELETE Удалить веб-страницу
TRACE Отобразить входящий запрос
OPTIONS Опрос определенных параметров

Метод GET запрашивает у сервера страницу (под которой в общем случае подразумевается объект, но на практике это обычно просто файл). Большую часть запросов к серверу составляют именно запросы GET. Вот самая типичная форма GET:

GET filename HTTP/1.1

где filename указывает на запрашиваемый ресурс (файл), а 1.1 – на используемую версию протокола.

Метод HEAD просто запрашивает заголовок сообщения, без самой страницы. С помощью этого метода можно узнать время последнего изменения страницы для сбора индексной информации или просто для проверки работоспособности данного URL.

Метод PUT является противоположностью метода GET: он не читает, а записывает страницу. Этот метод позволяет создать набор веб-страниц на удаленном сервере. Тело запроса содержит страницу. На практике PUT широко не применяется.

Метод DELETE удаляет страницу. Здесь особую роль могут играть аутентификация и разрешение на выполнение этой операции. Даже при наличии у пользователя разрешения на удаление страницы нет никакой гарантии, что метод DELETE удалит страницу, так как даже при согласии удаленного HTTP-сервера сам файл может оказаться защищенным от изменения или перемещения.

Метод TRACE предназначен для отладки. Он приказывает серверу отослать назад запрос. Этот метод особенно полезен, когда запросы обрабатываются некорректно и клиенту хочется узнать, что за запрос реально получает сервер.

Метод OPTIONS позволяет клиенту узнать у сервера о его свойствах или о свойствах какого-либо конкретного файла. В ответ на каждый запрос от сервера поступает ответ, содержащий строку состояния, а также, возможно, дополнительную информацию (например, веб-страницу или ее часть). Строка состояния может содержать трехразрядный код состояния, сообщающий об успешном выполнении запроса или о причинах неудачи.

 

За строкой запроса (например, содержащей название метода GET) могут следовать другие строки с дополнительной информацией. Они называются заголовками запросов. Эту информацию можно сравнить с параметрами, предоставляемыми при вызове процедуры. В свою очередь, ответы могут содержать заголовки ответов. Некоторые заголовки могут встречаться и там, и там.

Некоторые заголовки сообщений протокола HTTP

Host (Запрос) – доменное имя сервера.

Описывает сервер. Его значение берется из URL. Этот заголовок обязателен.

User-Agent (Запрос) – информация о браузере и его платформе.

Позволяет клиенту информировать сервер о версии своего браузера, операционной системы или предоставлять другую информацию о себе.

Accept (Запрос) – тип страниц, поддерживаемых клиентом.

Определяет типы страниц, которые будут приняты клиентом (например, text/html).

Accept-Charset (Запрос) – поддерживаемые клиентом наборы символов.

Сообщает о том, какой набор символов клиент хотел бы видеть (например, ISO-8859 или Unicode).

Accept-Encoding (Запрос) – поддерживаемые клиентом типы кодирования.

Речь идет о приемлемых методах сжатия (например, gzip).

Accept-Language (Запрос) – естественные языки, понимаемые клиентом.

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

Authorization (Запрос) – список персональных идентификаторов клиента.

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

Date (Запрос/Ответ) – дата и время отправки сообщения.

Может применяться как в запросах, так и в ответах. Он содержит время и дату отправки сообщения.

Server (Ответ) – информация о сервере.

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

Content-Length (Ответ) – размер страницы в байтах

Last-Modified (Ответ) – время и дата внесения последних изменений в страницу.

 

Поскольку HTTP является текстовым протоколом, взаимодействие с сервером посредством терминала (который в данном случае выступает как противоположность браузеру) можно организовать достаточно просто. Необходимо лишь установить TCP-соединение с портом 80 сервера.

Пример.

URL http://www.ietf.org/rfc.htm, заданный в строке адреса браузера приведет к выдаче следующих команд протокола http:

GET /rfc.html HTTP/1.1

Host: www.ietf.org

<== предыдущая лекция | следующая лекция ==>
 | XML и XSL
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 424; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.