КАТЕГОРИИ: Архитектура-(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; Просмотров: 1968; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |