Этапы информационного взаимодействия описаны в той временной последовательности, в которой они показаны на рис. 9.4
пользователь с помощью браузера формирует запрос на получение документа и через Интернет посылает его на Web-сервер, частными случаями таких документов могут быть бланк заказа книги или оформления подписки на газету или бланк, заполняемый абитуриентом при поступлении в Университет в другом городе (в США уже есть такие преценденты), причем все такие документы объединяются общим понятием «форма»;
сервер извлекает документ (форму) из своей базы данных и через сеть Интернет посылает его пользователю (клиенту);
клиент с помощью браузера заносит в документ необходимые данные и вновь направляет его через сеть Web-серверу;
сервер с помощью CGI-программы анализирует полученный документ и (при необходимости) направляет его для обработки в соответствующее приложение;
приложение, используя CGI-переменные, обрабатывает направленный в него документ и возвращает серверу выходную информацию;
сервер передает выходную информацию клиенту;
клиент (Web-браузер) получает выходную информацию, которая отображается у него и может быть оценена и использована.
Таким образом, пользователь (клиент) имеет возможность не только получать информацию (документы) от сервера, но и передавать свои данные на сервер, где с помощью соответствующего приложения, установленного на Web-узле, эти данные будут обработаны, а клиент получит результаты обработки данных. Такая система взаимодействия обеспечивает принципиально более высокий уровень интерактивности в системе клиент-сервер, и реализацию дистанционной обработки данных клиента.
CGI-программа может быть написана на любом языке программирования, в составе которого имеются средства для выполнения обмена данными между приложениями. На платформе UNIX (популярный Web-сервер «Апачи» работает именно на этой платформе) для этой цели чаще всего используется язык Перл (Perl).