Технологии программирования Web
| Категория реферата: Рефераты по коммуникации и связи
| Теги реферата: шпаргалки по гражданскому праву, готовые рефераты
| Добавил(а) на сайт: Akulina.
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата
ISAPI
Подобно CGI, спецификация ISAPI (Internet Server Application Programming
Interface) определяет правила взаимодействия между Web-сервером и
дополнительными программами. Для того чтобы понять, зачем понадобился
альтернативный подход к созданию программ, выполняющихся на сервере, поговорим о преимуществах и недостатках стандарта CGI.
Несомненным преимуществом CGI является универсальность. CGI-сценарии могут быть написаны на разных языках и выполняться на компьютерах с различной архитектурой. Если при написании сценария вы учли все правила, то можете быть уверены, что созданная вами программа будет корректно взаимодействовать с любым Web-сервером. Простота CGI также способствует широкому распространению этого стандарта.
Однако, наряду с преимуществами, CGI-сценарии обладают некоторыми недостатками; главным из которых считается неэффективное использование ресурсов. Каждый из запросов клиента, предполагающий вызов сценария, порождает отдельный процесс на компьютере-сервере. Как известно, для выполнения независимого процесса требуется гораздо больше ресурсов, чем для работы потока в составе процесса.
Стремление повысить производительность и снизить затраты ресурсов привело к
созданию корпоративных стандартов. Наиболее известными из них являются
NSAPI и ISAPI.
Основное отличие ISAPI-программы от CGI-сценария состоит в том, что ISAPI-
программа представляет собой не исполняемый файл, а динамическую библиотеку
(DLL). Благодаря этому появилась возможность запускать программу не как
отдельный процесс, а как поток, принадлежащий Web-серверу. Для выполнения
потока требуется значительно меньше ресурсов, чем для работы независимого
процесса. Поток использует адресное пространство породившего его процесса и
работает намного быстрее, чем отдельный процесс.
По окончании выполнения процесс выгружается из памяти, а при поступлении следующего запроса снова загружается с диска. Это также не способствует эффективной работе CGI. При интенсивном поступлении запросов необходимость постоянного обмена с диском создает дополнительную нагрузку на сервер. В отличие от CGI-сценария, ISAPI-программа, окончив свою работу, как правило, остается резидентной в памяти и используется для обработки последующих запросов.
Однако иногда преимущества ISAPI-программ оборачиваются недостатками. (Это не удивительно. Ведь если бы ISAPI-программы были свободны от недостатков, они бы быстро вытеснили CGI-сценарии.)
Если за универсальность CGI-сценариев пришлось платить недостаточной производительностью, то в качестве платы за высокую производительность создатели ISAPI-программ жертвуют универсальностью. Арсенал языков, имеющихся в распоряжении разработчиков ISAPI-программ, значительно беднее, чем у их коллег, создающих CGI-сценарии. По сути, тому, кто хочет быстро написать достаточно большую ISAPI-программу, не остается иного выбора, кроме C++.
Второй недостаток ISAPI гораздо серьезнее первого. Поскольку программа данного типа выполняется как поток, порожденный сервером, она использует адресное пространство сервера. Следовательно, ошибка ISAPI-программы может не только вызвать ее аварийное завершение, но и вывести из строя сервер.
Программы, использующие спецификацию ISAPI, делятся на две категории.
* Расширения. Функционально они мало чем отличаются от CGI-сценариев.
Подобно CGI-сценариям, расширения реализуют дополнительные возможности Web-
сервера, но строятся совершенно по-другому. Рассмотрению ISAPI-расширений
посвящена данная глава.
* Фильтры. Это особый класс программ. Если расширения дополняют возможности Web-сервера, то фильтры изменяют его поведение. Принцип работы и реализация ISAPI-фильтров будут рассмотрены в следующей главе.
ISAPI-расширение представляет собой динамическую библиотеку (DLL), которая
связывается с Web-сервером в процессе его работы. В данной библиотеке
должны экспортироваться, т.е. быть доступными для вызова, две функции:
GetExtensionVersion() и HttpExtensionProcf).
Особенности выполнения ISAPI-расширений, а также основные отличия программ данного типа от CGI-сценариев проще всего выяснить, рассматривая процедуру вызова расширения, а также назначение указанных выше функций и параметров, передаваемых при их вызове.
В отличие от расширения, которое вызывается лишь тогда, когда в запросе клиента явно указан URL программы, ISAPI-фильтр получает управление при каждом обращении клиента к серверу. Программа-фильтр загружается в память при запуске Web-сервера и остается резидентной в течение всего времени работы сервера.
Язык программирования Perl
Perl - интерпретируемый язык, приспособленный для обработки произвольных
текстовых файлов, извлечения из них необходимой информациии и выдачи
сообщений. Он также удобен для написания различных системных программ. Этот
язык прост в использовании, эффективен, но про него трудно сказать, что он
элегантен и компактен.
Perl был создан в 1986 году как инструмент для администрирования и
конфигурирования системных ресурсов сети, состоящей из Unix-компьютеров. Он
сочетает в себе лучшие черты C, shell, sed и awk, поэтому для тех, кто
знаком с ними, изучение Perl-а не представляет особого труда. Cинтаксис
выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС
UNIX Perl не ставит ограничений на объем обрабатываемых данных и если
хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия
может быть произвольной глубины. Хотя Perl приспособлен для сканирования
текстовых файлов, он может обрабатывать так же двоичные данные и создавать
.dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать
регулярные выражения, создавать объекты, вставлять в программу на С или C++
куски кода на Perl-е, а также позволяет осуществлять доступ к базам данных.
Язык Perl был создан для повышения эффективности обработки текстовых
документов. Он ориентирован на обработку строк. В настоящее время язык
получил большое распространение как инструмент создания исполняемых модулей
WWW-сервера. Существующие пакеты расширения обеспечивают доступ к SQL-
серверам непосредственно из Perl-программы. Это позволяет использовать его
для решения всех задач, возникающих при обеспечении WWW-доступа к базам
данных. Perl эффективен также при обработке произвольных структур данных:
существующих отчетов, списков, карточек в электронном виде.
Хотя CGI-приложения можно писать практически на любом языке, Perl и CGI-
программирование стали синонимами для многих программистов. Как сказал
Хасан Шрейдер (Hassan Shroeder), первый вебмастер Sun, «Perl - это артерия
Интернета». Perl - самый широко используемый язык для CGI-программирования, и для этого есть много веских причин:
• Perl легко выучить: его синтаксис напоминает другие языки (например
С), потому что он «многое прощает», - при ошибке выдается подробное сообщение, помогающее быстро локализовать проблему.
• Perl способствует быстрой разработке, так как это интерпретируемый язык; исходный код не надо компилировать перед запуском.
• Perl доступен на многих платформах с минимальными изменениями.
Рекомендуем скачать другие рефераты по теме: культурология, конспект изложения.
Категории:
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата