Асп — язык программирования Microsoft¶
ASP (англ. Active Server Pages) — серверная технология создания динамических веб-страниц, разработанная корпорацией Microsoft. Представляет собой платформу, на которой серверный код (на VBScript, JScript или других языках) выполняется на стороне сервера перед отправкой HTML-результата клиенту. Технология была представлена в 1996 году и стала одним из первых серверных решений для Windows-платформы, заложив основу для последующей платформы ASP.NET.
¶История
Первая версия ASP была выпущена Microsoft в декабре 1996 года в составе веб-сервера Internet Information Services (IIS) 3.0. Технология позволяла встраивать серверный скриптовый код непосредственно в HTML-файлы с помощью специальных тегов <% %>. ASP быстро получил распространение в корпоративной среде Windows NT, поскольку не требовал отдельной компиляции и упрощал создание динамического контента.
В 2002 году Microsoft представила ASP.NET — полностью переработанную платформу, основанную на .NET Framework. ASP.NET не является прямым преемником классического ASP в смысле совместимости кода, однако поддерживает миграцию проектов. Классический ASP продолжал поддерживаться Microsoft, но новые разработки с 2000-х годов постепенно переходили на ASP.NET.
¶Принцип работы
ASP-страница имеет расширение .asp (для классического ASP) или .aspx (для ASP.NET). При обращении клиента к такому файлу веб-сервер IIS передаёт запрос модулю обработки ASP, который выполняет серверный скрипт. Результат выполнения — HTML-код — отправляется клиенту в обычном виде. Клиент не получает исходный серверный код, что обеспечивает определённый уровень защиты бизнес-логики.
В классическом ASP серверный код размещался между тегами <% и %> внутри HTML-файла. Для разделения логики и представления использовались модели сценариев (.inc-файлы) и объектная модель COM/ActiveX.
¶Основные компоненты
Классический ASP предоставлял встроенные объекты для работы с запросом, ответом, сессиями и серверными ресурсами:
| Объект | Назначение |
|---|---|
| Request | Доступ к данным HTTP-запроса (параметры, cookies, формы) |
| Response | Формирование HTTP-ответа клиенту |
| Server | Создание COM-объектов, работа с файловой системой |
| Session | Хранение данных в рамках сессии пользователя |
| Application | Хранение общих данных приложения |
Для доступа к базам данных использовался ADO (ActiveX Data Objects), позволявший подключаться к Microsoft SQL Server, Oracle, файлам Microsoft Access и другим источникам через провайдеры OLE DB или ODBC.
¶ASP и ASP.NET
Несмотря на схожесть названий, ASP и ASP.NET — принципиально разные технологии:
- Классический ASP — интерпретируемая модель, серверный код встроен в HTML, используется VBScript или JScript.
- ASP.NET — платформа .NET, поддерживает компилируемые языки (C#, VB.NET), модель кода за страницей (code-behind), страничные и серверные контролы, работу с кэшем и асинхронные модели.
ASP.NET Core, представленная в 2016 году, стала кроссплатформенной и работает не только на Windows, но и на Linux и macOS — в отличие от классического ASP, привязанного к IIS.
¶Применение
Классический ASP исторически широко применялся для создания корпоративных информационных систем, интернет-магазинов, внутренних порталов и веб-интерфейсов к базам данных. В России и странах СНГ технология активно использовалась в 2000-е годы для разработки сайтов на Windows-хостингах.
С середины 2010-х годов новые проекты на классическом ASP практически не создаются, однако значительное количество легаси-систем продолжает работать на этой технологии. Поддержка классического ASP в IIS сохраняется Microsoft, но новые возможности в него не добавляются.
¶Критика
К основным недостаткам классического ASP относят отсутствие строгой типизации, слабую поддержку разделения логики и представления, ограниченные средства отладки и зависимость от Windows/IIS. Эти ограничения стали одним из причин создания ASP.NET.
¶См. также
- ASP.NET
- Internet Information Services
- PHP
- JSP
¶Исторические источники
- Microsoft Docs — документация по IIS и ASP
- «Programming ASP» — O'Reilly Media
- Справочник по Active Server Pages, Microsoft Press
