Открыть сервисСервис

Асп — язык программирования 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
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru