Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции 2005 / P6 / Разработка HTML-форм и приложений.doc
Скачиваний:
35
Добавлен:
16.04.2013
Размер:
70.14 Кб
Скачать

Сеанс обмена данными по протоколу http.

Протокол HTTPотносится к уровню приложений. Поскольку на уровне приложений предусмотрен обмен только текстовой информацией, то для обеспечения возможности передачи двоичных файлов по протоколу HTTP используется спецификация MIME (MultipurposeInternetMailExtension- Многоцелевая почтовая службаInternet). Согласно этой спецификации формат данных описывается указанием типа и подтипа данных.<ТИП>\<подтип>

Например, text\html, где

Тип определяет, какого рода информация содержится в двоичном файле (текст, приложение, изображение, видео запись и т.д.).

Подтип указывает на формат файла.

В нашем примере: типом файла является текст, а формат файла - HTML-документ.

Сеанс взаимодействия клиента с сервером по протоколу HTTP состоит из 4 частей:

  1. установление соединения;

  2. запрос клиента к серверу;

  3. ответ сервера клиенту;

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

Запрос клиентапредставляет собой требование на передачу HTML-документа или какого-либо другого ресурса.

Ответ серверавключает в себя запрошенный ресурс.

Структура запроса клиента состоит из 4 компонентов:

1) Строка состояния:

<метод запроса><URL ресурса><Версия протокола>

где

Метод запросаопределяет вид воздействия на ресурс, указанный с помощью URL. Наиболее важными методами являются GET и POST.

Метод GETпредназначен на получения ресурса с указанием URL-адреса. При получении запроса с методом GET сервер должен включить содержимое ресурса в ответ сервера клиенту. При этом ресурс необязательно является HTML-документом.

Метод POST: основное его назначение - передача данныx на сервер. Однако на практике этот метод может применяться по-разному, в т.ч. и для получения информации с сервера.

Версия протоколазадается в следующем формате: HTTP/<версия>. Например, HTTP/1.0

2) Поля заголовка- используются для передачи серверу дополнительной информации. Каждое поле заголовка имеет следующий формат:

<имя поля>:<значение>

Наиболее часто используются следующие поля заголовка:

HOST- доменное имя или IP-адрес сервера, к которому обращается клиент;

FROM- поле, в котором указывается адрес электронной почты пользователя;

ACCEPT- поле, в котором содержатся MIME-типы данных, обрабатываемые клиентом;

ACCEPT-Language- в поле содержатся идентификаторы, с помощью которых сообщаются языки, поддерживаемые клиентом;

ACCEPT-Charset- в поле содержатся идентификаторы, сообщающие серверу о поддерживаемых клиентом кодировках;

Content-Type- содержит MIME-тип данных, находящихся в теле запроса;

Например: Content-Type: text\html.

Connection- содержится информация для управления соединением;

User-Agent- содержится информация о клиенте.

3) Пустая строка;

4) Тело запроса- в большинстве случаев отсутствует. Если оно присутствует, то используется в тех случаях, когда требуется передать серверу информацию, введенную пользователем.

Ответ сервера по структуре аналогичен запросу клиента:

1) Строка состояния. Формат:

<версия протокола><код ответа><пояснение>

  • Код ответа- трехзначное десятичное число, означающее результат обработки запроса клиента сервером;

  • Пояснение- в символьном виде расшифровывает код ответа (для уведомления администратора).

2) Поля заголовка. Наиболее важные поля:

Server- содержит наименование и № версии web-сервера;

Allow- список методов, доступных для сервера;

Connect-Language- перечень языков, которые должен поддерживать клиент для корректного отображения передаваемого ресурса;

Content-Type- указывается MIME-тип данных, содержащихся в теле ответа сервера;

Content-Length- размер данных, содержащихся в теле ответа сервера;

Last-Modified- в котором содержится дата и время последнего изменения затребованного ресурса;

Expires- дата и время, определяющие момент, когда информация, переданная клиенту считается устаревшей;

Date- содержится дата и время создания ответа сервера;

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