Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft’s first server-side script-engine for dynamically-generated web pages. Initially released as an add-on to Internet Information Services (IIS) via the Windows NT 4.0 Option Pack (ca 1998), it was subsequently included as a free component of Windows Server (since the initial release of Windows 2000 Server). ASP.NET has superseded ASP.
The active scripting engine’s support of the Component Object Model (COM) enables the development of functionality in ASP websites. Each object provides a related group of frequently-used functions and data attributes. ASP 2.0 provided six built-in objects: Application, ASPError, Request, Response, Server, and Session.
Session, for example, is a cookie-based session object that maintains the state of variables from page to page. Functionality is further extended by objects which, when instantiated, provide access to the environment of the web server; as an example
FileSystemObject (FSO) is used to create, read, update and delete files.
Web pages with the .asp file extension use ASP, although some web sites disguise their choice of scripting language for security purposes (e.g. still using the more common .htm or .html extension). Pages with the .aspx extension use compiled ASP.NET (based on Microsoft’s .NET Framework), which makes them faster and more robust than server-side scripting in ASP which is interpreted at run-time; however, many ASP.NET pages still include some ASP scripting. Such marked differences between ASP and ASP.NET have led to use of the terms Classic ASP or ASP Classic, which also implies some nostalgia for the simpler platform.
Programmers write most ASP pages using VBScript, but any other Active Scripting engine can be selected instead by using the @Language directive or the
<script runat="server"> syntax. JScript (Microsoft’s implementation of ECMAScript) is the other language that is usually available. PerlScript (a derivative of Perl) and others are available as third-party installable Active Scripting engines.
Based on the dbWeb and iBasic tools created by Aspect Software Engineering, ASP was one of the first web application development environments that integrated web application execution directly into the web server, 9 months after the 1996 release of NeXT’s (now Apple) WebObjects. This was done in order to achieve high performance compared to calling external executable programs or CGI scripts which were the most popular method for writing web applications at the time.
Prior to Microsoft’s release of ASP for IIS 3, web programmers working in IIS relied on IDC and HTX files combined with ODBC drivers to display and manipulate dynamic data and pages. The basics of these file-formats and structures continued in use, at least in part, in the implementation of the early versions of ASP.
The third-party products Halcyon InstantASP (iASP) and Chili!Soft ASP run ASP on platforms other than the Microsoft Windows operating systems. Neither alternative to real ASP fully emulates every feature, and may require additional components to achieve functionality with which traditional ASP has no issues, such as database connectivity. Support for Microsoft Access databases can become a particular issue on non-Windows systems.
iASP can use the VBScript and JScript languages – unlike Chili!Soft ASP which uses JScript. Microsoft’s ASP can use both and has the potential to have other languages make use of the scripting engine. iASP was written in Java, and as such will run on almost any operating system. iASP appears to be no longer available or at least hard to find.
Examples of other languages available are Perl and TCL, although they are not as widely known or used for ASP scripting. An Apache Webserver mod runs an ASP-like Perl script language.
Chili!Soft, initially released in 1997, was acquired by Cobalt Networks on May 24, 2000. Sun Microsystems subsequently purchased Cobalt Networks (December 7, 2000). Chili!Soft was renamed “Sun ONE Active Server Pages”, then later renamed to “Sun Java System Active Server Pages”. Chilisoft ASP was written in C/C++ and is tied rather tightly to specific web server versions. According to Sun, “Sun Java System Active Server Pages has entered its End Of Life”.
ASP has gone through three major releases:
- ASP version 1.0 (distributed with IIS 3.0) in December 1996
- ASP version 2.0 (distributed with IIS 4.0) in September 1997
- ASP version 3.0 (distributed with IIS 5.0) in November 2000
As of 2010[update] ASP 3.0 is available in IIS 6.0 on Windows Server 2003 and IIS 7.0 on Windows Server 2008.
Many people regard ASP.NET as the newest release of ASP, but the two products use very different technologies. ASP.NET relies on the .NET Framework and is a compiled language, whereas ASP is strictly an interpreted scripting language.
ASP 3.0 made relatively few changes to the ASP 2.0 codebase. One of the most important additions was the Server.Execute methods, as well as the ASPError object. Microsoft’s What’s New in IIS 5.0 lists some additional changes.
Some systems run “Classic ASP” sites as standalone applications: for example ASPexplore, a software package that runs Microsoft Active Server Pages offline.
In ASP, programmers can use any scripting language compatible with Microsoft’s Active Scripting standard. The default scripting language (in classic ASP) is VBScript:
3. <% Response.Write “Hello World!” %>
Or in a simpler format
3. <%= “Hello World!” %>
The examples above print “Hello World!” into the body of an HTML document.