ASP как зеркало информационной революции, или создай интерактивный сайт за полчаса

MoZ (real_moz@hotmail.com)

Спецвыпуск Xakep, номер #015, стр. 015-094-1


Сегодня, дорогой друг, твоя жизнь круто изменится. Прочитав эту статью, ты пойдешь и сотрешь надписи "Windows must die" и "Билл Гейтс - ламер" с соседнего забора. Потом ты выкинешь в помойку своего плюшевого Линукса. И затем ты расплачешься от осознания того, какая же все-таки крутая контора этот Микрософт. Это все произойдет потому, что сегодня я познакомлю тебя с такой выдающейся разработкой этой компании, как ASP. Конечно, я мог бы пойти немного дальше и сразу рассказать тебе об ASP.NET, входящий в состав Microsoft.NET, но из соображений гуманности расскажу об этом как-нибудь потом. Итак, что же такое ASP?

За знакомство!

Microsoft Active Server Pages (ASP) - это среда выполнения скриптов на стороне сервера, которую можно использовать для создания и выполнения динамических интерактивных Web-приложений. То есть, как ты понял, речь у нас тут пойдет про то, как круто с помощью ASP ты сможешь построить в Интернете сайт, динамично-интерактивно выдающий информацию в зависимости от желаний твоего посетителя. Впервые корпорация Микрософт ввела ASP в версии IIS (Internet Information Server) 3.0 и продолжила дальнейшую разработку этого продукта в IIS 4 и 5.

Кстати, если кто не знает - по распространенности в Интернете веб-серверы от Микрософт уверенно занимают второе место, уступая лишь Апачу, у которого все-таки была огромная фора. За подробностями можешь сходить на http://www.netcraft.com/survey/. Особое внимание обрати на графики роста - тенденция к увеличению процента серверов от Микрософт хоть и небольшая, но есть.

Как это работает?

IIS (сервак) исполняет asp-страницу и посылает результаты реализации сценария в формате HTML клиенту (бродилке). Так как сценарии ASP выполняются на сервере, то клиентом может быть любой WEB-браузер, без всяких специально устанавливаемых прибамбасов.

Опишу этот момент подробнее. Рассмотрим случай, когда скрипты выполняются на стороне клиента. WEB-сервер посылает страницу HTML, содержащую скрипты или даже ActiveX-компоненты, в браузер клиента, который и отвечает за выполнение всего этого барахла. Подход, при котором основной акцент делается на клиентской части приложения, возлагает на нее дополнительный груз обязанностей, что может привести к возникновению траблов, если клиентский браузер не будет в состоянии выполнить все то, что на него навалили. Напротив, страницы ASP исполняются на WEB-сервере. В ходе исполнения страницы сервак напрямую посылает клиенту код HTML и все клиентские скрипты, содержащиеся на странице ASP. Но как только сервер доходит до команды серверного скрипта ASP (выделенные тэгом <%%>), то он исполняет этот скрипт и передает клиенту в виде HTML только полученные в качестве результата выходные данные. Клиент, действия которого сводятся к использованию браузера, не видит разницы между потоком страниц HTML, порождаемым ASP, и потоком HTML, посылаемым статичными WEB-страницами. Тот факт, что ASP генерирует только поток страниц HTML, обеспечивает независимость от типа браузера клиента.

Мэн, проникнись: ASP - не язык программирования, это внутренняя технология, позволяющая объединять страницы HTML и скрипты. ASP позволяет применять любой язык написания сценариев, удовлетворяющий стандарт ActiveX. По умолчанию IIS поддерживает два скриптовых языка - VBScript и JScript. Тут все злобные хакеры должны повскакивать со своих засыпанных чипсами кресел и заорать - Бейсик Суксь! А после этого вспомнить, на чем в последнее время писались многие из самых распространенных почтовых вирусов, задумчиво поскрести по-модному помытую пивом шевелюру и сесть обратно. Если же эти языки тебя по каким-то причинам не устраивают (типа бейсик - все равно отстой, явасрипт достал), всегда есть возможность установить поддержку (script engine) и для других языков, например, для Rexx (http://wschaefer.purespace.de/rexx/rexxweb/wrw003.html), Perl (http://www.activestate.com/), Python.

Содержание  Вперед на стр. 015-094-2