Студопедия

КАТЕГОРИИ:


Архитектура-(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 с Dy­namic 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; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.