» html
для новичков
» Главная
страница
» html
для новичков
Общий
шлюзовой интерфейс и формы 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 в корневом каталоге
сервера.
Относительно
аргумента POST
CGI
реализован в программах, поддерживающих
Unix и некоторые приложения
Windows. CGI для Windows реализуется
лишь в том случае, если сервер
Web способен декодировать данные
тех форм HTML, которые пересылаются
в режиме POST. Это можно сделать
двумя способами:
URL-Encoded.
Данные формы пересылаются на
сервер в виде HTML.
Multipart
Form Data. Данные формы пересылаются
на сервер в виде MIME-сообщения.
INPUT
TYPE=TEXT
Поместить
в форму текстовое поле данных.
NAME=NAME
Определить
имя текстового поля данных NAME.
MXLENGTH=NUMBER
Размер
текстового поля данных. Вместо
NUMBER вы можете ввести целое
число.
RADIO
Определить
кнопку переключения.
NAME=PRODTYPE
Определить
логическое поле PRODTYPE.
INPUT
TYPE=CHECKBOX
Определить
флажок для протокола передачи.
ACCEPT
Метод,
используемый для интерпретации
пересылаемых файлов. Файлы могут
пересылаться в виде ASCII или
HTML.
Количество
заголовков ACCEPT соответствует
типам данных MIME (Multipurpose
Internet Mail Extensions). Заголовок
ACCEPT: TYPE/SUB-TYPE { parameters}
пересылается как значение параметра
ACCEPT. Каждый тип данных имеет
собственный параметр ACCEPT.
Следующий
урок
|