
- •Разработка html-форм и приложений.
- •Разработка web-приложения.
- •Сеанс обмена данными по протоколу http.
- •3) Пустая строка
- •Другие типы web-приложений.
- •1. WinCgi приложения.
- •2. Приложения isapi (Internet Server Application Program Interface).
- •3. Технология активных серверных страниц asp (ActiveServerPages).
- •Доступ к бд с использование Internet.
3) Пустая строка
4) Тело ответа- в теле ответа содержится код передаваемого клиенту ресурса. Например, HTML-документ или другой ресурс. Способ обработки ресурса, содержащегося в теле ответа, указывается в поле заголовка Content-Type(например, text/html).
Другие типы web-приложений.
1. WinCgi приложения.
Разновидность обычного CGI приложения, адаптированного под ОС Windows.
В этом приложении обмен данными с сервером производится не через переменное окружение, а через файлы инициализации - INI-файлы. В файле инициализации размещается информация, аналогичной строке параметров, передаваемой через переменное окружение. Файл инициализации имеет более удобную структуру, а для работы с ним операционная системаWindowsпредоставляет специальные функции.
2. Приложения isapi (Internet Server Application Program Interface).
ISAPI определяет правила взаимодействия между web-сервером и другими приложениями. Главное отличие от CGI-приложений: ISAPI-приложения представляют собой динамическую подключаемую библиотеку DLL. Эта библиотека при вызове приложения загружается не как отдельный процесс, а как поток принадлежащий web-серверу. Благодаря этому ISAPI-приложения имеют
Три существенных преимущества перед CGI-приложениями:
1) Поток требует существенно меньших ресурсов, чем отдельный процесс, что способствует меньшей загрузке сервера;
2) ISAPI-приложения выполняются в адресном пространстве web-сервера, поэтому работает быстрее, чем отдельный процесс;
3) В отличие от CGI-приложения ISAPI-приложение может оставаться постоянно загруженным в оперативную память сервера, а не загружаться каждый раз при поступлении нового запроса как это имеет место в случае с CGI-приложением. Благодаря этому снижается нагрузка на сервер и уменьшается время обработки запроса.
Однако, несмотря на все отмеченные плюсы, ISAPI-приложения имеют и недостатки, главным из которых является то, что ошибки, возникающие при выполнении ISAPI-приложений, могут приводить к нарушению работы web-сервера, т.к. эти приложения выполняются в едином адресном пространстве с web-сервером.
ISAPI-приложения делятся на 2 группы:
1) Расширения ISAPI- получают данные от браузера (например, из формы заполненной пользователем), обрабатывают эти данные и посылают ответ браузеру в виду сформированного HTML-документа;
В отличие от CGI-приложения расширение ISAPI получает данные не через переменную среду окружения и стандартный поток ввода, а при помощи специально предназначенной для этого функции. Аналогично вместо записи выходных данных в стандартный поток вывода расширение ISAPI использует специальные функции.
2) Фильтры ISAPI- предназначены для контроля всех данных, проходящих через web-сервер на уровне протокола HTTP, поэтому фильтры ISAPI можно применять для решения таких задач: шифрование или перекодировка данных, сжатие информации. Они пригодны также для создания собственных процедур подключения пользователей к системе и проверке идентификации пользователей, а также для сбора статистической информации об использовании ресурсов сервера.
Обращение к динамически подключаемой библиотеке, которая представляет собой расширение ISAPI, выполняется в HTML-документах аналогично обращению к CGI-приложению. В тегах <FORM> или <A> указывается адрес расширения ISAPI и с помощью этих форм или соответствующих гиперссылок можно осуществить обращение расширением ISAPI. Когда пользователь обращается к расширению ISAPI, соответствующая DLL загружается в адресное пространство web-сервера и становится его составной частью - это позволяет расширению ISAPI пользоваться всеми ресурсами, доступными web-серверу, что существенно увеличивает производительность. Производительность сохраняется на достаточно высоком уровне и в тех случаях, когда расширение web-сервера активно используется одновременно многими пользователями.
Пример: 20 пользователей загружают одно приложение.
CGI: создается 20 процессов (не очень хорошо);
ISAPI: в оперативную память загружается одна DLL, и все приложения обрабатываются одним расширением ISAPI (плохо в плане безопасности).
Многопоточный режим работы расширения ISAPI создает доп. проблемы при отладке.