Н. 3. Елманова. C++ Builder 3.0, архитектура "клиент/сервер" и Internet
Рис. 9.1. Выбор типа приложения из репозитария объектов
Затем выберем тип Web-приложения (исполняемый файл CGI, Win-CGI или динамически загружаемая библиотека ISAPI/NSAPI, представляющая собой функциональное расширение Web-сервера MS Internet Information Server или Netscape FastTrack). Отличие Web-приложений в виде исполняемых файлов от динамически загружаемых библиотек заключается в том, что первые запускаются как независимые процессы, тогда как вторые используют процессы из пула процессов Web-сервера и, следовательно, требуют меньше ресурсов. Помимо этого динамически загружаемые библиотеки после загрузки находятся в памяти сервера, что снижает время отклика на пользовательские запросы. Однако это мешает их отладке - после внесения изменений в ISAPI/NSAPI dll необходим перезапуск Web-сервера. Поэтому рекомендуется создавать CGI-приложения, и после окончательной отладки можно на основе имеющихся модулей создать проект ISAPI/NSAPI-приложения. Итак, выберем опцию CGI stand-alone executable и создадим Win32-KOHco.ibHoe приложение, генерирующее HTML-документы (рис. 9.2).
214
Создание Web-приложений
New Web Seivei Application
Рис. 9.2. Выбор типа Web-приложения
В результате получим    объект TWebModule, напоминающий обычный модуль данных (рис. 9.3).
iflfrWebModulel
Рис. 9.3. Объект TWebModule
Каким образом работает Web-приложение? В общем случае точно так же, как и любое другое серверное приложение: Web-сервер получает от клиентского приложения (в данном случае - от удаленного браузера) запрос, сформулированный по определенным^ правилам или, говоря другими словами, удовлетворяющии~определенной спецификации, в нашем случае спе-цификации^СО! (Common Gateway Interface). Здесь Web-сервер выступает в качестве посредника между браузером и собственно Web-приложением, обращаясь к нему тогда, когда в запросе содержится соответствующее требование. В случае корректно сформулированного запроса Web-приложение обрабатывает его, выполняя какие-либо действия, и генерирует в ответ некий результат, обычно текст в формате HTML - HyperText Markup Language (язык гипертекстовой разметки, используемый для создания Web-страниц и интерпретируемый браузерами), передаваемый с помощью Web-сервера в браузер пользователя. Для обмена данными между Web-сервером и браузе-
215