- •Разработка html-форм и приложений.
- •Разработка web-приложения.
- •Сеанс обмена данными по протоколу http.
- •3) Пустая строка
- •Другие типы web-приложений.
- •1. WinCgi приложения.
- •2. Приложения isapi (Internet Server Application Program Interface).
- •3. Технология активных серверных страниц asp (Active Server Pages).
- •Доступ к бд с использование Internet.
Сеанс обмена данными по протоколу http.
Протокол HTTP относится к уровню приложений. Поскольку на уровне приложений предусмотрен обмен только текстовой информацией, то для обеспечения возможности передачи двоичных файлов по протоколу HTTP используется спецификация MIME (Multipurpose Internet Mail Extension - Многоцелевая почтовая служба 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-серверу, чтобы дать адрес клиенту.
