Передача данных от пользователя к обработчику
Передача данных от удаленного пользователя системы к программе обработчику идет через сеть
Internet на основе интерфейса Windows CGI. Все данные введенные пользователем вначале
передаются WWW серверу, который преобразует их к формату, отвечающему требованиям
стандарта CGI, и передает их программе обработчику, названному выше клиентским
приложением, Данные от удаленного клиента к WWW серверу поступают на основе протокола
HTTP (Hypertext Transfer Protoсol).
Данные передаваемые WWW сервером обработчику можно разделить на две группы, исходя из
источника их получения:
- Информация о клиенте, Она включает в себя такие данные как URL адрес удаленного
клиента, его средство навигации по Internet, операционную систему, метод доступа, используемый
клиентом, регистрационные данные пользователя и прочую подобную информацию. Данные
такого рода используются обработчиком для настройки на конкретного клиента.
- Информация введенная пользователем в HTML документ. Для осуществления ввода данных в
HTML документы, для их последующей передачи WWW серверу используется язык HTML второго
уровня, который допускает размещение в документе стандартных объектов диалога. Для этого в
HTML второго уровня используется тэг FORM, внутри которого и размещаются тэги,
соответствующие объектам диалога. Для передачи введенных данных HTML предусматривает
использование одного из двух основных методов передачи: GET и POST. Взаимодействие с
использованием метода GET происходит гораздо быстрее, но этот метод в соответствии со
стандартом CGI рекомендуется использовать только, если в результате обработки данных не
произойдет никаких изменений в окружающем мире. В соответствии со стандартом CGI при
использовании метода GET данные введенные пользователем, помещаются в переменную
окружения QUERY_STRING в виде поле1=значение1 & поле2=значение2... с заменой пробелов на
символ '+', а специальных символов на их коды. При использовании метода POST
преобразованные, как и при использовании метода POST, данные поступают в стандартный поток
ввода обработчика. Стандарт Windows CGI при использовании обоих методов помещает значение
переменной QUERY_STRING в раздел [CGI] файла данных, а при использовании метода POST
WWW сервер еще и декодирует строку - значение этой переменной и помещает пары поле-значение
в раздел [Form Literal файла данных, а при необходимости, также и в разделы [Form External] и
[Form Huge].