Active Server Pages
ASP (англ. Active Server Pages — «активные серверные страницы») — первая технология компании Microsoft, позволяющая динамически создавать веб-страницы на стороне сервера. ASP работает на операционных систем линейки Windows NT и на веб-сервере Microsoft IIS.
ASP не является языком программирования — это лишь технология предварительной обработки, позволяющая подключать программные модули во время процесса формирования веб-страницы. Относительная популярность ASP основана на простоте используемых языков сценариев (VBScript или JScript) и возможности использования внешних COM-компонентов.
Технология ASP получила своё развитие в виде ASP.NET — новой технологии создания веб-приложений, основанной на платформе Microsoft .NET.
В настоящий момент (начало 2011) технология ASP, появившаяся в 1996 году, относится к разряду безнадежно устаревших и заменена ASP.NET.
Синтаксис
Страница на ASP — это обычная страница HTML, со вставками, обозначенными ограничителями <%
и %>
:
<% Response.write "Hello World!" %>
То что находится внутри ограничителей — это текст программы, интерпретируемый при запросе страницы. JScript является языком по умолчанию, хотя возможно использование и VBScript (или любого другого языка, если установлен соответствующий интерпретатор):
<% @ Language = "JScript" %><% Response.Write("Hello World!"); %>
Версии
ASP в своём развитии прошёл через несколько версий:
- ASP 1.0 (распространяется с IIS 3.0) в декабре 1996 года.
- ASP 2.0 (распространяется с IIS 4.0) в сентябре 1997 года.
- ASP 3.0 (распространяется с IIS 5.0) в ноябре 2000 года.
Apache::ASP
- Apache::ASP (англ.) предоставляет функциональность ASP на основе веб-сервера Apache, со скриптами на основе Perl.
Примерные аналоги
mod_php и mod_perl
Достоинства и недостатки
Язык VBScript, обычно используемый в ASP, куда неприятнее языка PHP синтаксисом. JScript лишен этого недостатка, но имеет другой, более серьезный - неприятную обработку типов данных OLE Automation, что приводит к скрытым, трудным в обнаружении ошибкам.
Синтаксис вызова внешних объектов с Server.CreateObject("имя класса COM") также тяжеловесен.
Однако ASP может использовать очень хороший набор классов для работы с SQL базами данных - ADO, который примерно аналогичен Perl DBI и куда лучше, чем вызовы mysql_xxx в PHP.
Производительность интерпретатора VBScript значительно выше, чем PHP.
Кроме того, ASP поддерживает объекты Session и Application, с которыми в PHP/Apache традиционно есть огромные сложности, связанные с архитектурой процессов Apache 1.x (а она восходит к нелюбви к потокам в мире UNIX и использованию fork() вместо них везде, где возможно).
Тем не менее, объект Session ныне считается с трудом удовлетворяющим требованиям безопасности, и зачастую вместо него все его содержимое помещают в один огромный cookie, и передают туда-обратно между клиентом и сервером. Такое легко реализуемо в PHP, этим пользуются, например, phpBB и его коммерческий дериватив vBulletin
См. также
Ссылки
- ASP в MSDN (англ.)