КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Серверные программные интерфейсы приложений
SSI РНР ASP ASP - (Active Server Page), или активные серверные страницы - это один из наиболее известных компромиссов между клиент-серверной и скриптовой технологиями. Основа ASP — это скрипты, добавленные в HTML-текст страницы (такой файл обычно имеет расширение asp) и выполняемые на сервере, тогда как браузер пользователя получает модифицированный соответствующим образом файл с «чистым» HTML (т. е. сами ASP-скрипты пользователю недоступны, так как ему передается уже результат работы этих скриптов). В этом можно увидеть значительное сходство ASP с Dynamic HTML (см. главу 6), но размещение скрипта на сервере позволяет избавиться от недостатков, присущих скриптовому программированию (в частности, ASP-технологии позволяют реализовать работу с размещенными на сервере базами данных, в том числе пополняемыми вводимой различными пользователями сайта информацией). Правда, сфера применения ASP несколько уже, чем, скажем, для РНР (рассматриваемых далее): это прежде всего создание интерфейсов баз данных с использованием специальных ActiveX — компонентов «ActiveX Data Objects» и общепринятого стандарта формирования запросов к базам данных SQL. Пример ASP-скрипта: <%@ LANGUAGE="VBSCRIPT" %> <HTML> <HEAD> <Т1ТЬЕ>Тест ASP</TITLE> </HEAD> <BODY> <%= "Московское время " & time %> </BODY> </HTML> Здесь за основу взят скриптовой язык VBScript, а сгенерированная страница в результате будет содержать внутри контейнера <BODY>...</BODY> строку с указанием текущего времени (т. е. значение системной переменной сервера time будет приписано к имеющейся текстовой константе). PHP (Personal Ноте Page) — это серверный мультиплатформенный (т. е. не зависящий от применяемого в том или ином случае программно-аппаратного обеспечения, так же, как и язык Java) язык описания сценариев, встраиваемый в HTML-текст. История его создания — типичный пример истории всей идеологии серверных скриптов. Первоначально была создана простейшая CGI-оболочка, отыскивающая в «исходном листинге» на HTML и интерпретирующая требуемым образом несколько специфических по назначению команд, однако сама идея предоставить разработчику Web-страницы простой в освоении и использовании язык «программирования» требуемых от сервера действий вызвала большой интерес, и в 1994 г. РНР получил общепризнанный статус интерактивной Web-технологии. Работа с PHP достаточно проста. Сам HTML-файл, содержащий в себе PHP-команды, должен носить расширение phtml (предпочтительно), php3 или php. Собственно команды языка РНР всегда заключаются в специальный «тэг», начинающийся с <?php и заканчивается парой символов?>, и разделяются точкой с запятой. Комментарии записываются аналогично языку Си - между знаками / * и * /, либо после пары символов // и до конца текущей строки. Такие вставки, размещаемые в требуемых местах HTML-кода, позволяют добавлять на Web-страницу те или иные элементы, обычно реализуемые вызовом CGI-программы, либо фактически превращают данный файл в «шаблон», по которому строятся пересылаемые пользователям «результирующие» Web-страницы. Пример РНР-скрипта «компоновки» Web-страницы из готовых фрагментов; ...предыдущий HTML-текст... <?php $url = ""; if ($link == 1) { $url = "name1.phtml"; } if ($link == 2) { $url = "name2.phtml"; } if ($link == 3) { $url = "патеЗ.phtml"; } if ($link ==4) { $url = "name4.phtml"; } if ($url == "") { $url = "error.phtml"; } INCLUDE ($url); ?> ...последующий HTML-текст... Вставив внутрь «обычного» HTML-кода указанный скрипт, можно в зависимости от текущего значения переменной с именем link, переданной в составе гиперссылки на данный Web-документ, например: http://www.domain.ru/ webdoc.phtml?link=l, подставить в данное место данного HTML-файла соответствующий фрагмент из другого файла, имя которого присваивается переменной url (если же переданное значение link не соответствует ни одному из указанных, то последний из операторов if предпишет вывести в этом месте заранее заготовленное сообщение об ошибке). Пример PHP-скрипта счетчика посещений: <р>Посетителей странички - <?php $filename = "counter.dat"; - $fp = @fopen($filename,"r"); if ($fp) { $counter=fgets($fp,10); fclose ($fp); } else { $counter=0; } $counter++; echo $counter; $fp = @fopen($filename, "w"); if ($fp) { $counter=fputs($fp,$counter); fclose($fp); } ?> </p> Этот скрипт - наглядная демонстрация алгоритма работы счетчика посещений. Он предельно прост: сначала мы присваиваем переменной filename название некоего файла, хранящего текущее количество посетивших данный сайт пользователей, затем открываем его и считываем в переменную counter хранящееся там значение (или, при невозможности чтения, обнуляем счетчик). Далее значение counter увеличивается на единицу и «впечатывается» в данном месте генерируемого HTML-документа (команда echo, «привычная» нам еще по bat-файлам для MS-DOS), а потом записывается в тот же самый «буферный» файл взамен прежнего. Однако же сразу заметим и принципиальное отличие этого счетчика от реализуемого при помощи «классической» CGI-программы. Если в последнем случае HTML-файл содержит вызов CGI-приложения, а браузер генерирует обращение к нему, когда данная страница уже в него загружена и требуется подгрузить к ней иллюстрации, то при использовании РНР на сервере сначала, еще до передачи страницы браузеру, формируется запись (или закодированные вызовы изображений цифр) значения счетчика, а затем генерируется и пересылается на ПЭВМ посетителя сайта HTML-документ, который уже содержит в себе эту запись в готовом виде (т. е. для текстового счетчика после загрузки такой страницы в браузер никаких дополнительных обращений к серверу вообще не нужно, а для графического - производится только обычная подгрузка графических файлов с уже известными браузеру именами). SSI (Server Side Includes), или «включения на стороне сервера», - это тоже разновидность скриптовых команд, вставляемых в HTML-текст для передачи каких-либо указаний серверу. Выглядят они как обычные HTML-комментарии, содержимое которых начинается с «спецсимвола» #, состоит из указания имени команды и одного или нескольких параметров с их значениями. Всего таких команд предусмотрено около десятка; обычно они применяются (аналогично РНР) для вставки в некоторый «шаблонный» Web-документ HTML-фрагментов из внешних файлов, для генерации страниц в зависимости от значений переменных (например, таким способом можно реализовать «адаптацию» сайта под запрошенные от пользователя тип и версию браузера) и т. п. Например, если какие-либо фрагменты Web-страницы являются типовыми и повторяются почти на всех страницах («панель управления», шаблонные элементы оформления, меню и пр.), можно вынести соответствующий им HTML-текст в отдельные файлы, а в сами страницы добавить SSI-команды, предписывающие вставить указанные блоки кода на предназначенные для них места. Сам же HTML-файл, содержащий такие команды, обычно носит расширение shtral (или shtm). Результирующая же Web-страница формируется сервером непосредственно перед ее пересылкой на компьютер посетителя. И, как и в предыдущих случаях, сами эти команды конечному пользователю не «видны», т. е. он просматривает в своем браузере страницу уже на «чистом» языке HTML, которую сервер скомпоновал в соответствии с данными ему указаниями. Пример кода: <p align=center><img src=”images/<!--#echo var=”picture”--> “alt=” /<!--#echo var=”title”--></p> Серверные программы API (Application Programming Interfaces) можно поверхностно обозначить как сменные модули Web-сервера. Среди распространенных API такие, как ISAPI для сервера IIS от Microsoft, NSAPI для сервера Netscape/I Planet/Sun, Apache Modules для Apache и сервлеты Java для Web-серверов с поддержкой Java. Преимуществом серверных программ API является то, что в целом их плотное взаимодействие с Web-сервером приводит к высокой производительности. Недостатком, вне всяких сомнений, представляется сложность написания такой программы и вероятность того, что ошибочный серверный модуль, на самом деле, может привести к отказу всего сервера.
Дата добавления: 2015-05-26; Просмотров: 463; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |