Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Сценарии на стороне сервера




CGI

Web-серверы

Технологии, работающие на стороне сервера

Web-сервер обрабатывает серверную сторону среды сетевых сообщений, от­вечая на разнообразные HTTP-запросы, обращенные к нему. Серверы могут либо напрямую возвращать различные файловые объекты, такие как HTML-документы, изображения, мультимедийные файлы, сценарии или таблицы, либо запускать исполняемые программы, которые возвращают аналогичный результат. В этом смысле Web-сервер действует одновременно и как файло­вый сервер, и как сервер приложений. Сейчас, прежде чем обратиться к се-

Как и Web-браузер, Web-сервер составляет среды каждой Web-транзакции. Термин "Web-сервер" в обыденном понимании включает как аппаратное, так и программное обеспечение. Основной вопрос, связанный с аппаратной частью, заключается в том, способен ли Web-сервер справляться с требова­ниями по части памяти, дискового пространства и сетевого входа/выхода, проистекающими из трафика сайта. Взаимодействие операционных систем, таких как UNIX или Windows 2000, и программного обеспечения Web-сервера также имеет прямое отношение к производительности; аналогично и безопасность.

Начиная с Apache и заканчивая Zeus, все программные платформы Web-серверов обрабатывают базовые транзакции HTTP, однако все они стремят­ся к тому, чтобы обеспечить нечто большее, чем просто элементарные сред­ства обслуживания файлов. Большинство платформ Web-серверов преду­сматривают базовые службы обеспечения безопасности и аутентификации, средства регистрации и программирования, со­средоточимся лишь на аспектах, связанных с программированием сайтов.

Относящиеся к старейшей из технологий программирования, работающих на стороне сервера, программы CGI (Common Gateway Interface, общий шлюзовой интерфейс) могут создаваться практически на любом языке про­граммирования, хотя с приложениями CGI, как правило, ассоциируется язык Perl. CGI не является ни языком, ни программой; в сущности, в отли­чие от других сред программирования на стороне сервера, которые опреде­ляют язык и стиль, это — лишь способ создания программы. Как показано на рис. 3.13, CGI определяет базовые методы ввода и выхода для программ на стороне сервера, запускаемых Web-сервером. Хотя некоторыми эта тех­нология расценивается как медленная и небезопасная, при условии пра­вильного понимания и применения CGI годится для многих проектов, свя­занных с Web-разработкой.

Рисунок 8.1. Обзор CGI

Технологии создания сценариев на стороне сервера, такие как Active Server Pages (ASP) от Microsoft или ColdFusion от Macromedia, позволяют с легко­стью создавать динамические страницы. Все языки подготовки сценариев на стороне сервера, включая распространенные ASP, ColdFusion, JSP и PHP, действуют довольно схожим образом. Принцип заключается в том, что на сто­роне сервера исполняются сценарные шаблоны, содержащие сочетание HTML и языка сценариев, и в результате получается конечная Web-страница. Обычно запросы на страницы перехватываются неким механизмом на стороне сервера, и когда встречаются файлы с определенными расширениями - на­пример, asp, cfm, jsp, php или shtml, элементы сценария на странице замеща­ются конечной.

Языки сценариев на стороне сервера часто применяются для создания ди­намических страниц из баз данных, персонализации содержимого для поль­зователей или генерирования на страницах компонентов, годных для по­вторного использования. Синтаксис каждого языка индивидуален, и многие разработчики несколько фанатично относятся к превосходствам одного язы­ка над другим, однако суть дела в том, что ни один из них не обладает дос­таточной масштабируемостью в условиях крайне высокообъемных сайтов. Для таких сайтов обычно необходимы серверные программы программного интерфейса приложения

8.3. Технологии создания интерактивных страниц: ASP, PHP, SSI

Как нетрудно видеть из предыдущего описания, CGI пред­ставляет собой некую готовую исполняемую программу, со­зданную с определенными целями и достаточно сложно пере­настраиваемую, если требуется немного изменить ее назначение (точнее, соответствующие возможности настрой­ки уже должны быть заложены в алгоритм, иначе требуется модифицировать листинг и заново транслировать его в ис­полняемый код, для чего в свою очередь нужны определен­ные полномочия администратора сервера). Скрипты же (о которых говорится в главе 6) в этом плане гораздо удоб­нее: нужно лишь вставить в HTML-текст требуемые команды (или мини-программу), а далее такой файл можно размес­тить практически на любом сервере, не выходя за пределы отведенного под ваш сайт каталога. Но скриптовое програм­мирование обладает крупным недостатком — поскольку скрипты сначала пересылаются в составе копии HTML-файла на локальный компьютер каждого посетителя сайта, а затем выполняются уже непосредственно в браузере, то и результа­ты их работы будут доступны только на данной локальной машине (не удастся, например, реализовать сбор информа­ции от всех пользователей в единую общедоступную базу данных).

Однако существует и компромисс - «серверные скрипты», реализуемые в нескольких вариантах, немного отличающих­ся между собой в деталях, но родственных по своей идеоло­гии. Здесь, как и при «классическом» скриптовом програм­мировании, пользователю предоставляется некий язык команд, встраиваемых непосредственно в HTML-текст. Но ис­полнение этих команд производится не в браузере, а на серве­ре, аналогично CGI (как правило, обработка таких команд и производится при помощи CGI, так что фактически в этом случае мы имеем дело с неким универсальным и сверхгибким в настройке CGI-приложением!) со всеми ранее описанными преимуществами клиент-серверной технологии. Правда, по­скольку скриптовые команды необходимо сначала преобразо­вать в исполняемый код, Web-страницы с ними обрабатыва­ются несколько медленнее, чем содержащие вызовы готовых CGI-программ (и здесь дело обстоит аналогично сравнению трансляторов с языков программирования — компиляторов и интерпретаторов). В этой книге автор не ставит своей целью подробное изучение серверного скриптового программирова­ния, поэтому здесь мы уделим внимание лишь основным осо­бенностям трех разновидностей этой технологии.




Поделиться с друзьями:


Дата добавления: 2015-05-26; Просмотров: 1937; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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