ASP is a server-side scripting environment; it is an acronym which refers to "Active Server Pages". It was introduced by Microsoft in 1996 and is comprised of built-in objects, server-side scripts, ADO capability (access to databases), and ActiveX or COM+ components which allow web developers to build dynamic web sites such as search engines, e-Commerce sites, auction houses, sharehouses, web portals, and more. Other technologies that are similar to ASP are ASP.NET, PHP, JSP, CGI/Perl, Cold Fusion, and Apple Web objects.
While the majority of this web site is created using ASP.NET and DotNetNuke, my Percussion Library uses ASP almost exclusively to build each page on the web server. Go to my Percussion Library to see an example of database driven ASP scripts -- while you're there, take note of the URL in your browser's address bar. You should notice some very interesting addresses, such as:
listing.asp?categoryID_list=1
or
listings.asp?strPageSize=1&strCurrentPage=10&categoryID_list=1
Notice that both of those URL's point to the same ASP script called "listings.asp", but the information following the question mark will cause the script to read drastically different results from my database. Those two addresses (which are the same file), will render two completely different web pages.
What is "server-side"?
I'll explain this by comparing it to it's cousin - "client-side".
- Your web browser is the "client" in this case.
- My web server is obviously the "server" in this case.
The page you are currently reading is an HTML document which was created by a server-side script on my server. This page includes client-side scripts (such as Javascript) and other technologies such as CSS which enhances the functionality of the page. The client-side scripts control things within your web browser.
However, immediately before this page was sent to you, it was built by a server-side script on my server. Imagine for a moment...
The web page you are reading does not really exist. You might expect there to be an HTML document (i.e. web page) on my web server which was sent to your web browser...but that's not the case at all.
What actually happened when you requested this page was far more interesting. The file you requested might be an ASP file which I wrote and placed on my web server, but this file is not a web page...it is a script which is designed to build a web page. The page you're reading was built mere milliseconds before it was sent to your web browser.
The advantage of this is that I can instruct the server to build the HTML code customized just for you depending on whether or not you're using a Microsoft or Netscape web browser, or depending on your IP address, or depending on whether or not you've ever visited my website before.
Therefore, it is possible to build truly dynamic web pages. For instance, scripts can read information from a database and displays it in a web page - and the page contents are determined by the records in the database which were retrieved by this script. In that manner, it's possible for a single ASP file to have millions of different faces, if the database has that many articles!
It is in this manner that massive web sites, such as Amazon.com, and Google.com can organize such incredible amounts of information. Google claims to have more than nine billion references to web pages. Do you think that Google has created separate HTML pages to display your search results? No Way!, the entire Google search engine is driven by remarkably few server-side scripts. They designed ONE script to display search results based on nine billion records in their database.
My website uses such server-side technologies to build truly dynamic web pages. By using online forms and web pages - dynamically!