В HTML-документе для задания формы используются тэги <FORM>...</FORM>,
отмечающие соответственно, начало и конец формы. Документ может содержать
несколько форм, но они не могут быть вложены одна в другую. Тэг
<Form> имеет параметры ACTION, METHOD и ENCTYPE. Отдельные браузеры
(Netscape, Internet Explorer) поддерживают дополнительные параметры помимо
стандартных, например, CLASS, NAME, STYLE и др. В общем виде форма задается
следующим образом:
<FORM ACTION="URL" МЕТН0D=метод передачи ENCTYPE=MIME-тип> содержание формы
</Form>
Параметр ACTION является единственным обязательным. Его значением является URL-адрес CGI-программы, которая будет обрабатывать информацию, извлеченную из данной формы.
Параметр METHOD определяет метод пересылки данных, содержащихся в форме, от браузера к Web-серверу. Он может принимать два значения: GET (по умолчанию) и POST.
Взаимодействие между клиентом-браузером и Web-сервером осуществляется по правилам, заданным протоколом HTTP, и состоит из запросов клиента и ответов сервера. Запрос разбивается на три части:
В первой строке запроса содержится HTTP-команда, называемая методом, URL-адрес запрашиваемого файла и номер версии протокола HTTP. Вторая часть- заголовок запроса. Третья часть-тело запроса, собственно данные, посылаемые серверу.
Метод сообщает серверу о цели запроса. В протоколе HTTP определены несколько методов. Для передачи данных формы в CGI-программу используются два метода: GET И POST.
При использовании метода GET данные формы пересылаются в составе URL-запроса,
к которому присоединяются после символа ? в виде СОВОКУПНОСТИ пар переменная=значение,
разделенных символом &. В этом случае первая строка запроса может иметь следующий вид:
GЕТ /cgi-bin/cgi-program.pl?name=Mike&surname=lvanoff HTTP/1. 1
После выделения данных из URL сервер присваивает их переменной среды QUERY_STRING, которая может быть использована CGI-программой.
При использовании метода POST данные формы пересылаются Web-серверу в теле запроса, после чего передаются сервером в CGI-программу через стандартный ввод.
Значением параметра ENCTYPE является медиа-тип, определяющий формат кодирования данных при передаче их от браузера к серверу. Браузер кодирует данные, чтобы исключить их искажение в процессе передачи. Возможны два значения этого параметра: application/x-www-form-urlencoded (по умолчанию) и multipart/form-data.
Одним из первых применений Интернета была электронная почта, ориентированная на пересылку текстовых сообщений. Часто возникает необходимость вместе с текстом переслать данные в нетекстовом формате, например, упакованный zip-файл, рисунок в формате GIF, JPEG и т.д. Для того, чтобы пересылать средствами электронной почты такие файлы без искажения, они кодируются в соответствии с некоторым стандартом. Стандарт MIME (Multipurpose Internet Mail Extensions, многоцелевые расширения электронной почты для Интернета) определяет набор MIME-типов, соответствующих различным типам данных, и правила их пересылки по электронной почте. Для обозначения МIМЕ-типа используется запись вида тип/подтип, где тип определяет общий тип данных, например, text, image, application (тип application обозначает специфический внутренний формат данных, используемый некоторой программой), а подтип - конкретный Формат внутри типа данных, например, application/zip, image/gif, text/html. MIME-ТИПЫ нашли применение в Web, где они называются также медиа-типами, для идентификации формата документов, передаваемых по протоколу HTTP. В HTML-форме параметр ENCTYPE определяет медиа-тип, который используется для кодирования и пересылки специального типа данных - содержимого формы.
Для создания полей средствами языка HTML существуют специальные тэги: <INPUT>, <SELECT>, <TEXTAREA>, которые употребляются
только внутри тэга <FORM>.

