The Disadvantages of Active Server Pages
Early websites consisted solely of static HTML pages. Today, many sites, including Web retailers, banks and discussion forums, use dynamic pages generated by programs on a Web server. Microsoft calls its version of dynamic Web programming "Active Server Pages" or ASP. Many thousands of sites use ASP technology, but it has some disadvantages, including the proprietary nature of the software, the cost and the complexity of the programs.
-
Proprietary Software
-
ASP is primarily based on Microsoft’s Interactive Internet Services server, which is part of its Windows Server software, a commercially marketed operating system. The main competition for IIS comes from Apache, a free, open source Web server that runs equally well on Windows and Linux. Some Java-based implementations of ASP exist for environments other than Microsoft Windows, but their support of ASP features is not guaranteed.
Complex Coding
-
Compared to traditional client-server software such as Sybase’s Powerbuilder and Microsoft’s VB.NET, ASP can be very complex, requiring several programming languages for a single file. The programmer must first know the HTML codes used to design Web pages. Then he must learn ASP’s VBScript and Javascript languages to build ASP programs. Additionally, he must have a good command of Structured Query Language programming to access the databases in which a website’s information is stored. The multi-language nature of ASP programming makes for a steep learning curve.
-
Stateless Connection
-
Client-server applications, once logged in, maintain a persistent connection between the user’s program, the database and any other resources required by the program. Web programming in general and ASP in particular follow a “stateless” concept in which the server treats every request as if none preceded it. Though ASP has session variables, cookies and other ways to keep track of the information in a user’s login session, the stateless model complicates the programmer’s job. For example, every time a user requests a new Web page or refreshes an existing one, the page program must log in to the database with a user ID and password. The stateless model prevents the database from keeping the user logged in throughout the session.
Vulnerabilities
-
Web programs in general and ASP in particular are vulnerable to a variety of exploits. For example, ASP programs must carefully check user input for database commands embedded in user logins and other text input fields; otherwise, a malicious user could use this vulnerability to probe the database for confidential information or possibly delete the database itself.
-
References
- Photo Credit Comstock/Comstock/Getty Images