Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛК.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
953.86 Кб
Скачать

Лекция 2.9 Расширение isapi. Серверы asp.

1.Расширение ISAPI.

2. Серверы ASP.

РАСШИРЕНИЕ IASPI.

Данные поступают на сервер и обрабатываются приложениями CGI или ISAPI.

CGI/ISAPI-приложение генерирует (обычно динамически) HTML-документ (файл) и пересылает его обратно удаленному пользователю (где этот документ интерпретируется и визуализируется броузером).

При использовании CGI-программ через (другие) переменные среды (а их несколько десятков) передается большое количество очень важной информации, которая может существенно помочь программисту.

Заметим, что с помощью CGI-программ легко реализуются, например, счетчики числа посещений страниц; в качестве языка программирования CGI-программ часто используют интерпретатор языка Perl, хотя может быть применен практически любой язык программирования (особенно удо­бен C/C++).

Недостатком приложений CGI является то, что для обработки каждого запроса WWW-сервером он запускает новое CGI-приложение (новый процесс), а т.к. современные сервера одновременно могут обрабатывать много запросов, ресурсы машины-сервера (например, объем оперативной памяти) быстро истощаются (не говоря уже о снижении производительности сервера). От подобного недостатка свободен метод ISAPI, основанный на обработке запросов динамически загружаемыми (из DLL-библиотек) функциями (недостаток - т.к. ISAPI-расширение выполняется в том же адресном пространстве, что и сам WEB-сервер, критическая ошибка ISAPI-приложения обычно вызывает крах сервера). В отличие от CGI, ISAPI-приложение получает данные не из стандартного потока, а с помощью специально предназначенной для этого функции интерфейса ISAPI; вместо стандартного потока вывода также применяется специальная функция.

Некоторые сервера (например, Apache) содержат встроенный Perl, при этом для каждого поступающего CGI-запроса сервер создает новый поток (вместо нового процесса); это значительно ускоряет выполнение CGI-запросов указанным сервером.

Известны как расширения ISAPI (по функциям аналогичны CGI-расширениям сервера), так и фильтры ISAPI (фактически являющиеся брандмауэрами, применяются для шифрования или перекодировки проходящих через сервер данных, компрессии информации, сбора статистических данных о пользователях, проверки прав доступа и др.).

Заметим, что CGI- и ISAPI-программы потенциально являются источниками снижения безопасности функционирования WEB-серверов. Например, можно советовать работу для ознакомления с началами обеспечения безопасности выполнения CGI-сценариев на Perl; ниже приведено несколько WEB-адресов, посвященных проблеме безопасности

СЕРВЕРЫ ASP

Лекция 2.10 Характеристика программного средства (рнр).

1.История РНР.

2. Особенности РНР.

ИСТИРИЯ РНР.

1994 года – появление языка РНР, его создатель – Расмус Лердорф. Сначала это была просто невзрачная CGI-оболочка, написанная на языке Perl, и служила она исключительно для специфических целей. В результате дальнейшей эксплуатации выяснилось, что оболочка обладает маленькой производительностью, и автор вынужден был переписать все заново, но уже на языке С, что позволило увеличить скорость работы РНР. На тот момент РНР обладал более чем скромными возможностями. Он имел простейший анализатор кода, который понимал несколько специальных команд, а также разные утилиты для использования на домашней странице, необходимые для построения таких полезных вещей, как гостевая книга, счетчик, чат, системы статистики и тому подобное.

К середине 1995 года язык был основательно переработан, появилась обработка форм, были добавлены функции работы с базами данных, и в таком виде вышла вторая версия продукта.

Сегодня РНР – это мощный кроссплатформенный набор средств, который располагается на сервере и предназначен для обработки специального кода, встраиваемого в HTML-страницу. Благодаря этому, появляется возможность легко создавать динамические сайты. Файлы, созданные таким образом, хранятся и обрабатываются на сервере, и когда посетитель запрашивает документ с РНР, скрипт обрабатывается не браузером посетителя, как например Java Script, а сервером, и посетителю передаются уже только результаты работы. Несмотря на столь радужную характеристику, есть у РНР и недостатки. Стоит отметить довольно медленную (по сравнению с программами на CGI) работу скриптов РНР, а также сложность написания больших и сложных программ. Так или иначе, РНР остается интерпретируемым языком, что непременно ведет к ухудшению производительности в случае очень больших и сложных программ, но для выполнения несложных манипуляций на сайте, РНР – лучший выбор. Недаром к середине 2000 года РНР использовался более чем на 2,5 миллионах сайтов!

СОБЕННОСТИ РНР.

Как и у всякого языка программирования, у РНР есть свой синтаксис похожий на синтаксис языка С или Perl. Он включает в себя операторы, разделенные между собой точкой с запятой.

В любом месте скрипта РНР можно поставить комментарий, начинается он с "/*", а заканчивается – "*/" Если комментарий маленький, и занимает только одну строчку, можно поставить "//" таким образом, легко закомментировать любую строчку до ее конца. Как обычно, пробелы, символы табуляции и перевод строки просто игнорируются, и могут применяться для улучшения читабельности кода РНР.

Вывод на экран и переменные в РНР.

Рассмотрим пример скрипта:

  <?php   echo "Привет, мир!"; ?>

Этот скрипт может быть расположен в любом месте HTML-документа.

Переменная характеризуется именем, типом и значением. Имя может быть любым и включать в себя цифры, буквы английского алфавита, и разрешенные символы (например, символ подчеркивания или тире). По типу переменные делятся на целые, с плавающей запятой и символьные.

Все переменные в РНР должны начинаться с символа $, что позволяет интерпретатору безошибочно отличать их от команд РНР. Как и в любом языке, над переменными можно совершать любые арифметические действия, и это не требует присутствия специального оператора. Достаточно указать переменную для результата, знак равенства и перечислить в естественном порядке переменные или значения с необходимыми арифметическими знаками.

В РНР есть средства быстрого изменения переменной.   <?php   $b = $a = 5; /* присваиваем значения переменым $a и $b */   $c = $a++; /* последующее увеличение, присваиваем $c начальное значение $a (5)*/   $e = $d = ++$b; /* предварительное увеличение, присваиваем $d и $e увеличенное значение$b (6) */ /* тут и $d и$e равны 6 */   $f = double($d++); /* присвоить удвоенное значение $d до его увеличения, то есть 2*6 = 12, переменной $f */   $g = double(++$e); /* присвоить удвоенное значение $e после его увеличения, то есть 2*7 = 14, переменной g */   $h = $g += 10; /* сначала увеличить значение $g на 10, что дает в результате 24, а затем присвоить это значение переменной $h, что также дает 24 */   ?>

Вложения файлов в РНР.

Достигается это с помощью операторов REQUIRE и INCLUDE. После этих операторов в круглых скобках должен стоять путь к вкладываемому файлу. Например – INCLUDE ("text.phtml"). Различие между указанными операторами заключается в том, что REQUIRE подменяется содержимым указанного файла, и может быть использован только один раз, а INCLUDE – вставляет и выполняет содержимое указанного файла, что позволяет применить его несколько раз, например в цикле. В любом случае, при исполнении файла интерпретатор РНР (правильно говорить – парсер) пребывает в состоянии HTML, и для его включения код надо заключить в конструкцию <?php … ?>. Вложения файлов могут происходить только внутри серверного пространства, доступного РНР. Другими словами, Вы не можете использовать в имени файла http://.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]