|
Общий шлюзовой интерфейс и формы HTML
Общий шлюзовой интерфейс (Common Gateway Interface) позволяет рабо-
тать с данными сервера Web в интерактивном режиме. Сервер Web через CGI
запускает поисковую программу и пересылает обработанные данные назад.
Сама программа CGI хранится в каталоге CGI-BIN. Это означает, что файл
из каталога CGI-BIN всегда исполняемый файл. Если CGI- программа, напри-
мер, взаимодействует с системой управления базой данных, то пользователь
может получать некоторую интересующую его информацию в интерактивном ре-
жиме.
Это тривиально, но факт: CGI-программы создаются посредством CGI. Код
программы пишется, как правило, на языке описания сценариев Perl. Perl
является интерпретируемым языком, интерпретатор которого соответствует
операционной системе.
Передача данных от сервера к программе CGI осуществляется сервером
через командную строку и переменные окружения.
Таким образом, сервер через общий шлюзовой интерфейс запускает прог-
рамму CGI и пересылает ей вводимые пользователем данные. Сами данные
вводятся через так называемые формы HTML. Форма представляет собой ги-
пертекстовую страницу с одним или несколькими полями данных и специ-
альной кнопкой для передачи введенной информации.
Как и код любого гипертекстового документа, код формы начинается с
тэга FORM ACTION = /SGI-BIN/EXAMPLE.PL и заканчивается тэгом /FORM.
ACTION Аргумент ACTION -- это URL программы CGI, то есть
/SGI-BIN/EXAMPLE.PL.
METHOD Метод, используемый для запроса данных.
Этот параметр задает режим передачи данных из формы в программу CGI.
Основные режимы передачи -- GET, HEAD и POST. Программа CGI должна
поддерживать один из этих режимов, иначе обработки данных не произойдет.
В режиме GET данные входят через URL в строку запроса. Например, если
программа обработки данных BOB.PL лежит в каталоге CGI-BIN, то запрос
HTML пойдет на сервер через ACTION следующим образом:
FORM ACTION=/CGI-BIN/BOB.PL METHOD=GET
Теперь сервер знает, где находится программа BOB.PL, поэтому он ее
запустит в режиме GET.
Программы CGI получают данные от переменных окружения и посылают вы-
ходные данные через общий шлюзовой интерфейс обратно пользователю. Нап-
ример, после ввода тэга A HREF=BOB.HTML на сервер пойдет запрос GET
/BOB.HTML. Заголовок GET определяет получение документа BOB.HTML в кор-
невом каталоге сервера. HTML HTML
Web-дизайн 275 276 Web-дизайн
Относительно аргумента POST.
CGI реализован в программах, поддерживающих Unix и некоторые приложе-
ния Windows. CGI для Windows реализуется лишь в том случае, если сервер
Web способен декодировать данные тех форм HTML, которые пересылаются в
режиме POST. Это можно сделать двумя способами:
URL-Encoded. Данные формы пересылаются на сервер в виде HTML.
Multipart Form Data. Данные формы пересылаются на сервер в виде
MIME-сообщения.
INPUT TYPE=TEXT Поместить в форму текстовое поле данных.
-AME=NAME Определить имя текстового поля данных NAME.
MXLENGTH=NUMBER Размер текстового поля данных. Вместо NUMBER вы може-
те ввести целое число.
RADIO Определить кнопку переключения.
-AME=PRODTYPE Определить логическое поле PRODTYPE.
INPUT TYPE=CHECKBOX Определить флажок для протокола передачи.
ACCEPT Метод, используемый для интерпретации пересылаемых файлов.
Файлы могут пересылаться в виде ASCII или HTML. Количество заголовков
|
|