
- •Разработка html-форм и приложений.
- •Разработка web-приложения.
- •Сеанс обмена данными по протоколу http.
- •3) Пустая строка
- •Другие типы web-приложений.
- •1. WinCgi приложения.
- •2. Приложения isapi (Internet Server Application Program Interface).
- •3. Технология активных серверных страниц asp (ActiveServerPages).
- •Доступ к бд с использование Internet.
Сеанс обмена данными по протоколу http.
Протокол HTTPотносится к уровню приложений. Поскольку на уровне приложений предусмотрен обмен только текстовой информацией, то для обеспечения возможности передачи двоичных файлов по протоколу HTTP используется спецификация MIME (MultipurposeInternetMailExtension- Многоцелевая почтовая службаInternet). Согласно этой спецификации формат данных описывается указанием типа и подтипа данных.<ТИП>\<подтип>
Например, text\html, где
Тип определяет, какого рода информация содержится в двоичном файле (текст, приложение, изображение, видео запись и т.д.).
Подтип указывает на формат файла.
В нашем примере: типом файла является текст, а формат файла - HTML-документ.
Сеанс взаимодействия клиента с сервером по протоколу HTTP состоит из 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-серверу, чтобы дать адрес клиенту.