div.main {margin-left: 20pt; margin-right: 20pt}Языки серверных скриптов (ч.1) В
последнее время Web-узлы перестают быть просто набором страниц
и картинок. Все чаще создаются узлы, которые взаимодействуют с
посетителем, выполняют какие-то действия, собирают данные,
ведут подсчеты, самонастраиваются под предпочтения посетителя.
Вcе меньше Web-узлы становятся похожими на статитческую
библиотеку страниц, и превращаются в целые программные
системы, связанные с базами данных. Все чаще можно встретить
объявления Web-студий, приглащающих помимо Web-дизайнеров и
администраторов еще и Web-программистов.
Для того, чтобы простая HTML-страница ожила, существует
несколько технологий. Первое деление связано с местом
осуществления этого оживления: на сервере или на клиенте.
Далее деление ведется по методу программирования: с
использованием интерпретируемых скриптов или
откомпиллированных программ. Вышеизложенное можно представить
в виде следующей таблицы:
Сторона клиента |
Сторона сервера |
Скрипты |
Программы |
Скрипты |
Программы |
JavaScript
JScript
VBScript |
Plug-ins
ActiveX
Java applets |
Perl
Tcl
командная оболочка (shell) |
отдельные CGI-программы
модули сервера
ISAPI/NSAPI
ActiveX
Java servlets |
Серверные скрипты, о которых речь пойдет в данной статье,
относятся к серверной части, но стоят особняком, так как
сочетают в себе свойства как скриптовых языков, так и
программ.
Основное отличие от CGI-скриптов (которые пишутся чаще
всего на языке Perl, а иногда на Tcl и даже на языке командных
оболочек bash/tcsh) и от CGI-программ (которые пишутся на
языках высокого уровня от C/C++ до Basic-a) – это то, что в
CGI-программах вы сами пишете выводимый HTML-код, а используя
язык серверного скрипта, вы встраиваете свою программу в
готовую HTML-страницу, используя открывающий и закрывающий
теги.
Отличие серерного скрипта от JavaScript, VBScript или
JScript, как можно догадаться, состоит в том, что серверный
скрипт выполняется на сервере, а клиенту передается результат
работы, тогда как в JavaScript-код полностью передается на
клиентскую машину и только там выполняется.
Ваша страница в этом случае представляет собой смесь
HTML-кода с кодом программы. Процесс схож с тем, как работает
SSI (Server Side Includes). Web-сервер настраивается таким
образом, что файлы-страницы с определенным расширением
(asp/php/cfm) не отправляются сразу клиенту, а перед отправкой
пропускаются через обработчик, который производит разбор
страницы и выполняет операции, в ней записанные. Таким образом
клиенту выдается не та страница, которая хранится на сервере,
а страница созданная на лету по результатам выполнения
программы. Как видите, связка состоит из двух звеньев:
скриптов в HTML-странице и обработчика, который представляет
собой либо отдельную программу, либо для увеличения скорости
работы встраивается в виде модуля в Web-сервер.
Преимущества:
Независимость от платформы. В большинстве случаев
скрипты, написанные для одной платформы, можно перенести на
другую платформу с минимальными изменениями или даже вообще
без них. Главное, чтобы под данную платформу существовал
"обработчик". В последнее время разработчики языков серверных
скриптов стали уделять большее внимание переносимости и
стараются выпускать обработчики под как можно большее
количество платформ.
Открытость кода. Работая со скриптами, вы всегда
можете быть уверены в том, что полностью контролируете
выполнение программы. В отличие от готовых откомпиллированных
программ вам нет нужды задаваться вопросом, а не исполняет ли
программа какие-либо запрещеные действия? Имея исходный текст,
вы всегда можете внести в программу такие изменения, которые в
полной мере отвечают именно вашим специфическим запросам.
Недостатки:
Скорость работы. Несмотря ни на что,
рассматриваемые нами языки - являются интерпретируемыми. Это
значит, что они в большей степени уступают по скорости работы
откомпиллированным CGI-программам.
В следующей части мы рассмотрим более подробно наиболее
популярные технологии серверных скриптов:
ASP
PHP
embPerl, Mod_perl
WebSQL
ColdFusion
Java Server Pages
|