Fundamentals Of Computer And Communications Networks Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Active Server Pages , it is also called ASP Classic. It was the first server-side script-engine for dynamically-generated web pages created by Microsoft. It was initially released as an add-on to Internet Information Services (IIS) via the Windows NT 4.0 Option Pack. ASP.NET has superseded ASP. ASP 2.0 provided six built-in objects: Application, ASPError, Request, Response, Server, and Session(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.

Active Server Pages (ASPs) are Web pages that contain server-side scripts in addition to the usual mixture of text and HTML (Hypertext Markup Language) tags. Server-side scripts are special commands you put in Web pages that are processed before the pages are sent from your Personal Web Server to the Web browser of someone who's visiting your Web site. When you type a URL in the Address box or click a link on a Web page, you're asking a Web server on a computer somewhere to send a file to the Web browser (sometimes called a "client") on your computer. If that file is a normal HTML file, it looks exactly the same when your Web browser receives it as it did before the Web server sent it. After receiving the file, your Web browser displays its contents as a combination of text, images, and sounds.

In the case of an Active Server Page, the process is similar, except there's an extra processing step that takes place just before the Web server sends the file. Before the Web server sends the Active Server Page to the Web browser, it runs all server-side scripts contained in the page. Some of these scripts display the current date, time, and other information. Others process information the user has just typed into a form, such as a page in the Web site's guestbook.

An Active Server Page is a Web page that has server-side scripting which is interpreted on the server by the ASP engine. This ASP engine is actually a dynamic-link library called asp.dll, which is installed on the Web server. The ASP page may also contain HTML and client-side scripts, but only the actual ASP code is interpreted on the server, with the output of the ASP and the remaining HTML and client-side script being sent back to the browser. The end-user never sees the actual ASP code, but only the output of the ASP, or the results of it.


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.

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.

Examples of other languages available are Perl and TCL, although they are not as widely known or used for ASP scripting.


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

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.

Version 3.0 was released along with Internet Information Server (IIS) version 5.0 as part of the Microsoft Windows 2000. 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. Other new features include the addition of three new methods to the Server object, and two new methods to both the Application object and the Session object.

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.

Server-side caching

Caching and dynamic content generally don't work well together, but used correctly, caching can help solve many of your performance and scalability problem.

Data Caching

Data Caching is taking a copy of the data from the database or other slow data source (like external web pages) and storing it in a faster location. Where it's stored it is really dependent on how it'll be used and how quickly it needs to be accessed. Text or XML files can be very useful for larger amounts of data. The main issue with using files is that it slows things down. So, unless caching data is made from a very slow link, it might actually be slowing things down.

While this method can substantially increase performance it still leaves with the data in a state that we can manipulate it.

Element Caching

This takes Data Caching and goes one step further. The concept here is to speed things up even more by only doing the processing to build the box once and then caching the output. Then when you want to display the box again it's as quick and easy as simply doing a Response.Write.

While this method is faster and just as easy as Data Caching, the one drawback is that some of the flexibility is lost.

Page Caching

This is the ultimate in server-side caching. All the processing is made ahead of time and builds static .htm files. The benefit here is that there's no processing involved at all when requesting the cached files. The ASP interpreter never gets involved once the page is built. It's just as fast as if you had hand written the page and hard coded the data in, except for the fact that it's not done by hand.

The main drawback here is that determining when to refresh the cache can be a little difficult since no processing is happening. It can't be done in the page itself since it doesn't process. Global.asa can't be used unless there's another asp files in the web being requested so it'll run.

Refreshing the Cache

The most difficult part of any caching system is knowing when the content should not be cached anymore. On the other hand, if it's not refreshed often enough, old data will have to be dealt with.


There are many things you can do with Active Server Pages. You can display date, time, and other information in different ways. You can make a survey form and ask people who visit your site to fill it out, send emails, save the information to a file, etc.

ASP 3.0 improvements

Active Server Pages 3.0 offers many improvements and changes, most dealing with reliability, performance, and scalability, but Microsoft also added two new methods to the Server object: Transfer and Execute. (This version of ASP is part of IIS 5.0, which ships with Windows 2000.)


ASP developers have used Response.Redirect since the days of ASP 1.0 to redirect the browser to another page. Thought this was all occurring on the server and was thus a fairly efficient operation, but that's not how it works. When the ASP engine encounters a Response.Redirect method, it stops the processing of the current page and sends an HTTP redirection header (302 Redirect) to the client, informing it that the page it requested has moved and can be found at a different URL. When this response is sent to the browser, the browser requests the new URL and the ASP engine sends the new page to the client. Thus, the redirection of a page using Response.Redirect requires an extra client/server round trip.

Server.Transfer works differently than Response.Redirect. When the ASP engine encounters a Server.Transfer method on the page, it stops processing the page and sends the new page to the client in the response. That is, Server.Transfer substitutes the request for one page with another without involving an extra round trip between the server and the browser. In fact, as far as the browser is concerned, it received the page it originally requested. Let's illustrate with an example. Say you wished to branch in your ASP code and send users to one page or another based on whether they were using Internet Explorer or some other browser. The following code from Redirect1.asp accomplishes this employing the Browser Capabilities component and the Response.Redirect method.


Another new Server method introduced by ASP 3.0 is Server.Execute. Use Server.Execute to run a chunk of ASP code on another page, returning to the original page when the code is done executing. In many ways, Server.Execute serves a similar purpose to server-side includes. However, because Server.Execute is an ASP method rather than an HTML comment, you can use it to conditionally execute scripts and avoid including huge include files. Server-side includes are executed prior to any ASP code and thus can't be executed conditionally.


ASP.NET is a unified Web application platform that provides the services necessary to build and deploy enterprise-class Web applications.

ASP.NET is a Microsoft technology used to create web applications and web services. It's the successor of ASP (Active Server Pages). Also it uses the .NET platform and the instruction set offered by Visual Studio .NET. It is part of the Microsoft .NET Framework, a computing environment that simplifies application development in the highly distributed environment of the Internet. The Microsoft .NET Framework is a software framework that can be installed on computers running Microsoft Windows operating systems. It includes a large library of coded solutions to common programming problems and a virtual machine that manages the execution of programs written specifically for the framework. The .NET framework supports multiple programming languages. It allows language interoperability, whereby each language can utilize code written in other languages Also the .NET library is available to all the programming languages that .NET encompasses. The .NET Framework includes the common language runtime (CLR), which provides core services such as memory management, thread management, and code security.


ASP .NET has a wide set of components based on XML(offers a programming model object oriented (OOP)).

ASP .NET runs the compiled code, increasing the performance of the web application.

The code can be separated into two files (one file contains the executable code and the other the content of the page).

.NET is compatible with over 20 different languages(C#, Visual Basic).

ASP.NET benefits:


Manageability: text-based, hierarchical configuration system that simplifies applying settings to your server environment and Web applications.


Security: ASP.NET provides default authorization and authentication schemes for Web applications.


Ease of Deployment: An ASP.NET application is deployed to a server by simply copying the necessary files to the server.


Enhanced Performance: ASP.NET is compiled code running on the server. Unlike traditional Active Server Pages (ASP), ASP.NET can take advantage of early binding, just-in-time (JIT) compilation, native optimization, and caching services right out of the box for improved performance.


Flexible Output Caching: ASP.NET can cache page data, portions of a page, or whole pages.


Internationalization: ASP.NET uses Unicode internally to represent request and response data.


Mobile Device Support: ASP.NET supports any browser on any device.


Scalability and Availability: ASP.NET was designed to be scalable, with features specifically tailored to improve performance in clustered and multiprocessor environments. Moreover, processes are closely monitored and managed by Internet Information Services (IIS) and the ASP.NET CLR so that if one misbehaves, a new process can be created in its place, which helps keep your application available to handle requests.


Tracing and Debugging: ASP.NET provides tracing services that can be enabled during debugging at both the application level and the page level.


Integration with the .NET Framework: Because ASP.NET is part of the .NET Framework, the power and flexibility of the entire platform is available to Web applications.


Compatibility with Existing ASP Applications: ASP and ASP.NET can run side by side on an IIS Web server without interference.


Web Forms technology enables you to build powerful form-based Web pages. Web Forms pages use reusable built-in or custom components to simplify the code of a page.


XML Web services that are created using ASP.NET enable you to access servers remotely. XML Web services enable the exchange of data using standards such as XML messaging and HTTP across firewalls in client/server and server/server scenarios.

ASP.NET enables two features for distributed applications: Web Forms and XML Web services.

Output caching has been a feature of ASP.NET since its inception. Output caching allows developers to cache the rendered output of an ASP.NET page or User Control for a specified duration.

Output caching can improve the performance of a website by caching the rendered markup of a page on an initial request so that on subsequent requests the page does not need to be re-rendered.


ASP.NET aims for performance benefits over other script-based technologies (including Classic ASP) by compiling the server-side code to one or more DLL files on the web server. This compilation happens automatically the first time a page is requested (which means the developer need not perform a separate compilation step for pages). This feature provides the ease of development offered by scripting languages with the performance benefits of a compiled binary. However, the compilation might cause a noticeable but short delay to the web user when the newly-edited page is first requested from the web server, but won't again unless the page requested is updated further.

The ASPX and other resource files are placed in a virtual host on an Internet Information Services server (or other compatible ASP.NET servers; see Other Implementations, below). The first time a client requests a page, the .NET framework parses and compiles the file(s) into a .NET assembly and sends the response; subsequent requests are served from the DLL files. By default ASP.NET will compile the entire site in batches of 1000 files upon first request. If the compilation delay is causing problems, the batch size or the compilation strategy may be tweaked.

Developers can also choose to pre-compile their "codebehind" files before deployment, using MS Visual Studio, eliminating the need for just-in-time compilation in a production environment. This also eliminates the need of having the source code on the web server.

Since its release, ASP.NET has been the platform of choice for developing Web applications on the Windows / IIS platform. ASP.NET 2.0 took Web application development to a new level, allowing developers to build more powerful applications faster than ever before.

IIS 7 takes ASP.NET further by integrating the ASP.NET runtime extensibility model with the core server. This allows developers to fully extend the IIS 7 server with the richness of ASP.NET 2.0 and the .NET Framework, instead of using the less capable IIS C++ APIs. Existing ASP.NET applications also immediately benefit from tighter integration by using existing ASP.NET features like Forms authentication, roles, and output caching for all content.

While IIS 7 provides the improved ASP.NET integration by default, there is a choice: IIS 7 supports both the new and the old ASP.NET integration modes that can be used side by side on the same server.

ASP.NET Enhancements on IIS 7

Better ASP.NET integration in IIS 7 enhances existing applications and also allows new applications to take advantage of ASP.NET features in new ways:

ASP.NET services can be used for all content types. In the past, ASP.NET functionality such as Forms authentication, roles, URL authorization, and output caching were only available to ASP.NET content types like ASPX pages. Static files, ASP pages, and other content types could not benefit from these services.

Fully extend IIS with ASP.NET. Previous versions of IIS frequently required server extensibility to be developed by using the native ISAPI filter or extension extensibility mode, due to the runtime limitations of ASP.NET.

Unified server runtime. Tighter ASP.NET integration also unifies many of the features between IIS 7 and ASP.NET.

SEO Improvements in ASP.NET 4

In ASP.NET 4 there are a few improvements that have been made to make it easier to make tweaks to improve Search Engine Optimization (SEO) on the pages. There are three main improvements that have been made. First is that webforms now has a better story for routing your pages to friendly URLs. The other two are simply just properties that hang of the base page class that allow you to specify meta tags.

Meta tags are a special tag that can be placed in html to provide meta information about that particular page. This information can be anything from the author of the page to an expiration timeout for a caching system.

Other improvements:

The .NET Framework 4 is highly compatible with applications that are built with earlier .NET Framework versions, except for some changes that were made to improve security, standards compliance, correctness, reliability, and performance.

Earlier versions of the .NET Framework provided no way to determine whether a particular application domain was affecting other application domains, because the operating system APIs and tools, such as the Windows Task Manager, were precise only to the process level. Starting with the .NET Framework 4, you can get processor usage and memory usage estimates per application domain.

The Managed Extensibility Framework (MEF) is a new library in the .NET Framework 4 that helps build extensible and composable applications.

The .NET Framework 4 introduces a new programming model for writing multithreaded and asynchronous code that greatly simplifies the work of application and library developers. The new model enables developers to write efficient, fine-grained, and scalable parallel code in a natural idiom without having to work directly with threads or the thread pool.

ADO.NET provides new features for the Entity Framework, including persistence-ignorant objects, functions in LINQ queries, and customized object layer code generation.

Networking improvements include the following:

Security improvements for Windows authentication in several classes, including System.Net.HttpWebRequest, System.Net.HttpListener, System.Net.Mail.SmtpClient, System.Net.Security.SslStream and System.Net.Security.NegotiateStream. Extended protection is available for applications on Windows 7 and Windows Server 2008 R2.

Support for Network Address Translation (NAT) traversal using IPv6 and Teredo..

In the System.Net.HttpWebRequest class, support for using large byte range headers (64-bit ranges) with new overloads for the AddRange method. New properties on the System.Net.HttpWebRequest class allow an application to set many HTTP headers.

Secure Sockets Layer (SSL) support for the System.Net.Mail.SmtpClient and related classes.

Improved support for mail headers in the System.Net.Mail.MailMessage class.

Support for a null cipher for use in encryption. Constructors for the System.Net.Security.SslStream class now take a System.Net.Security.EncryptionPolicy class as a parameter.

Credentials for password-based authentication schemes such as basic, digest, NTLM, and Kerberos authentication in the System.Net.NetworkCredential class.

Ability to specify how a URI with percent-encoded values is converted and normalized in the System.Uri and System.Net.HttpListener classes.

ASP.NET compared with ASP classic

ASP.NET simplifies developers' transition from Windows application development to web development by offering the ability to build pages composed of controls similar to a Windows user interface. A web control, such as a button or label, functions in very much the same way as its Windows counterpart: code can assign its properties and respond to its events. Controls know how to render themselves: whereas Windows controls draw themselves to the screen, web controls produce segments of HTML and JavaScript which form parts of the resulting page sent to the end-user's browser.

ASP.NET encourages the programmer to develop applications using an event-driven GUI model, rather than in conventional web-scripting environments like ASP and PHP. The framework combines existing technologies such as JavaScript with internal components like "ViewState" to bring persistent (inter-request) state to the inherently stateless web environment.

Other differences compared to ASP classic are:

Compiled code means applications run faster with more design-time errors trapped at the development stage.

Significantly improved run-time error handling, making use of exception handling using try-catch blocks.

Similar metaphors to Microsoft Windows applications such as controls and events.

An extensive set of controls and class libraries allows the rapid building of applications, plus user-defined controls allow commonly-used web template, such as menus. Layout of these controls on a page is easier because most of it can be done visually in most editors.

ASP.NET leverages the multi-language capabilities of the .NET Common Language Runtime, allowing web pages to be coded in VB.NET, C#, J#, Delphi.NET, Chrome etc.

Ability to cache the whole page or just parts of it to improve performance.

Ability to use the code-behind development model to separate business logic from presentation.

Ability to use true object-oriented design for programming both page and controls

If an ASP.NET application leaks memory, the ASP.NET runtime unloads the AppDomain hosting the erring application and reloads the application in a new AppDomain.

Session state in ASP.NET can be saved in a Microsoft SQL Server database or in a separate process running on the same machine as the web server or on a different machine. That way session values are not lost when the web server is reset or the ASP.NET worker process is recycled.

Versions of ASP.NET prior to 2.0 were criticized for their lack of standards compliance. The generated HTML and JavaScript sent to the client browser would not always validate against W3C/ECMA standards. In addition, the framework's browser detection feature sometimes incorrectly identified web browsers other than Microsoft's own Internet Explorer as "downlevel" and returned HTML/JavaScript to these clients with some of the features removed, or sometimes crippled or broken. However, in version 2.0, all controls generate valid HTML 4.0, XHTML 1.0 (the default) or XHTML 1.1 output, depending on the site configuration. Detection of standards-compliant web browsers is more robust and support for Cascading Style Sheets is more extensive.

Web Server Controls: these are controls introduced by ASP.NET for providing the UI for the web form. These controls are state managed controls and are WYSIWYG controls.