Технология разработки web-приложений, страница 15


5. Сохраните HTML-документ на устройстве W в файле с именем JStest.html и проверьте работу скрипта.

5.3. Разработка CGI-приложения, анализирующего данные,
введенные пользователем с помощью элементов управления

Пользователь осуществляет подготовку данных для web-приложения средствами интерфейса, реализованного с помощью элементов управления, находящихся в форме ввода. Щелчок на кнопке SUBMIT, расположенной на форме, инициирует запуск web-сервером web-приложения, указанного атрибутом ACTION в теге <FORM>. Перед запуском web-приложения web-сервер формирует строку параметров. Содержимое этой строки зависит от элементов управления, расположенных в форме ввода.

Каждый из этих элементов имеет идентификатор, задаваемый атрибутом NAME, и значение, определяемое атрибутом VALUE или последовательностью символов, введенных пользователем. Из идентификаторов элементов управления и их значений формируется строка параметров следующего вида:

идентификатор1=значение1&идентификатор2=значение2…

Каждый параметр этой строки соответствует одному элементу управления и представляет собой имя элемента и его значение, разделенные знаком равенства. Различные параметры, относящиеся к разным элементам управления, разделяются в строке символами &. Если символы = или & входят в состав имени или значения элемента управления, то они кодируются последовательностью из трех знаков: первый знак - %, за ним следуют две 16-ичные цифры, являющиеся кодом символа. Кроме этих двух символов, трехзначными последовательностями обычно кодируются все символы, за иключением латинских букв, цифр и символа пробела. Символ пробела заменяется символом +. Полученная строка параметров должна быть декодирована web-приложением после ее поступления от web-сервера.

Строка параметров может передаваться методом  GET или методом POST, название которых указывается значением атрибута METHOD в теге <FORM>: при использовании метода GET строка параметров передается вместе с URL  вызываемого CGI-приложения, а для разделения URL и строки параметров используется символ ?; в случае применения метода POST строка параметров передается в теле HTTP-запроса.