Microsoft KB Archive/246477

= XGEN: Tracing the Origins of the ASP Technology =

Article ID: 246477

Article Last Modified on 2/27/2007

-

APPLIES TO


 * Microsoft Exchange 2000 Server Standard Edition

-



This article was previously published under Q246477



SUMMARY
Microsoft's Active Server Page (ASP) technology is widely used in Exchange 2000 Server and is of particular importance to Exchange 2000 conferencing capabilities and Outlook Web Acces (OWA). This article traces the origins of the technology as it relates to the World Wide Web. It provides a brief explanation of the different stages of development of client-side and server-side processing. The article sums up the discussion with a generic client-server interaction scenario that takes advantage of ASP technology.



Web in Its Infancy
At the very beginning, the Web was mainly used by the scientific community as a medium for exchanging information and as an online, easily accessible, repository of information. In a Web transaction, two entities were involved: a server computer and a client computer. The Web server was a simple file server that provided file services to the client as and when requested. If it was so configured, the server also checked the client's identity and provided encryption facilities. The file sent by the server was in HTML format. The Web client requested and received files from the server and was processed, interpreted, rendered, and displayed the content.

Web and Common Gateway Interface (CGI)
CGI scripting changed the use of the Web from a document exchange medium for the scientific community to a more dynamic and lively medium for a large community of users. It did this by adding the ability on the Web server side for dynamic generation of HTML. With CGI scripting, Web servers can run programs that generate the HTML files to be sent to the Web client rather than the pre-composed, static information that was sent before. The programs can read files, communicate with other computers, and access databases, thus opening an abundance of complex uses and applications for the Web such as online banking and shopping, Web-based e-mail, guest books, page hit counters, and any kind of user input. There are no significant changes for the Web client functionality. It continues to receive the same HTML content as before, regardless of the fact that the content is possibly generated dynamically by the server.

Web and the Advent of Client-side Scripting
While CGI introduced a degree of dynamism on the Web server side, the Web client side still remained incapable of this dynamism. The concept of Dynamic HTML on the client side became a reality with the introduction of Java, ActiveX, and JavaScript. Small programs, also known as "applets," can be downloaded to the Web client, which in turn receives the HTML file, parses it, and runs any embedded scripts or applets while it renders the HTML. Client-side scripting makes new features such as news tickers and changing menus available. JavaScript, with its slimmed-down and faster performance, adds features such as lighting up buttons as the mouse passes over them, checking and validating user input, and resizing the browser window.

Web and ASP
Active Server Page (ASP) is Microsoft's answer to CGI. CGI, together with client-side scripting, allows a program to be run on the Web server side and the output to be piped to TCP/IP. The Web client interprets the HTML and the scripts or applet. ASP extends the client-side model of scripts and applets to the Web server, enabling server-side JavaScript and even ActiveX. This technology makes major additions on the Web server side. On a Web client request for an .asp file, the server parses the .asp file, and runs all the scripts that are designated to be run on the server. These scripts can access databases, start out-of-process applications, make COM calls, write JavaScript or HTML that will later be interpreted on the Web client side, or write to the server's store. After all of the server-side scripts run, the page is sent out to the client where any client-side JavaScript and HTML is interpreted. The client just interprets whatever it gets, while the server-side script can actually compose the client-side script. The Web client continues to be oblivious to the source of the HTML it receives, and parses and runs scripts and applets while it renders the HTML.

A Typical Client-Server Interaction Scenario That Takes Advantage of ASP Technology

 * 1) The client requests a document from the Web server.
 * 2) The Web server loads the document.
 * 3) If the document has the .asp extension, the Web server parses and runs any scripts that are embedded within. This generates an HTML page.
 * 4) The Web server sends the HTML page to the client.
 * 5) The client parses the document, running any client-side scripts that it encounters, and renders the HTML.

Keywords: kbinfo KB246477

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.