The Evolution of Web Development
The Internet began in the late 1960s as an experiment. Its goal was to create a truly resilient information network—one that could withstand the loss of several computers without preventing the others from communicating. Driven by potential disaster scenarios (such as nuclear attack), the U.S. Department of Defense provided the initial funding. The early Internet was mostly limited to educational institutions and defense contractors.
It flourished as a tool for academic collaboration, allowing researchers across the globe to share information. In the early 1990s, modems were created that could work over existing phone lines, and the Internet began to open up to commercial users. In 1993, the first HTML browser was created, and the Internet revolution began.
HTML and HTML Forms
It would be difficult to describe early websites as web applications. Instead, the first generation of websites often looked more like brochures, consisting mostly of fixed HTML pages that needed to be updated by hand.
A basic HTML page is a little like a word-processing document—it contains formatted content that can be displayed on your computer, but it doesn’t actually do anything. The following example shows HTML at its simplest, with a document that contains a heading and single line of text:

An HTML document has two types of content: the text and the tags that tell the browser how to format it. The tags are easily recognizable, because they occur inside angled brackets (< >). HTML defines tags for different levels of headings, paragraphs, hyperlinks, italic and bold formatting, horizontal lines, and so on. For example, tells the browser to display Some Text in the Heading 1 style, which uses a large, bold font. Just like the picture below.

Server-Side Programming
To understand why ASP.NET was created, it helps to understand the problems of other web development technologies. With the original CGI standard, for example, the web server must launch a completely separate instance of the application for each web request. If the website is popular, the web server must struggle under the weight of hundreds of separate copies of the application, eventually becoming a victim of its ownsuccess.
To counter this problem, Microsoft developed ISAPI (Internet Server Application Programming Interface), a higher-level programming model. ISAPI solved the performance problem but at the cost of significant complexity. Even after ISAPI developers master the tricky C++ programming language, they still lie awake at night worrying about confounding issues such as multithreading. ISAPI programming is definitely not for the fainthearted.
ISAPI never really went away. Instead, Microsoft used it to build higher-level developmentplatforms, such as ASP and ASP.NET. Both of these technologies allow developers to program dynamic web pages without worrying about the low-level implementation details. For that reason, both platforms have become incredibly successful. The original ASP platform garnered a huge audience of nearly one million developers. When ASP.NET was first released, it generated even more interest as the centerpiece of the .NET Framework. In fact, ASP.NET 1.0 was enthusiastically put to work in dozens of large-scalecommercial websites even when it was only in late beta
Despite having similar underpinnings, ASP and ASP.NET are radically different. ASP is a script-based programming language that requires a thorough understanding of HTML and a good deal of painful coding. ASP.NET, on the other hand, is an object-oriented programming model that lets you put together a web page as easily as you would build a Windows application. In many respects, it’s easier to learn ASP.NET than to master ASP, even though ASP.NET is far more powerful.
Client-Side Programming
At the same time that server-side web development was moving through an alphabet soup of technologies, a new type of programming was gaining popularity. Developers began to experiment with the different ways they could enhance web pages by embedding multimedia and miniature applets built with JavaScript, DHTML (Dynamic HTML), and Java code. These client-side technologies don’t involve any server processing. Instead, the complete application is downloaded to the client browser, which executes it locally.
The greatest problem with client-side technologies is that they aren’t supported equally by all browsers and operating systems. One of the reasons that web development is so popular in the first place is because web applications don’t require setup CDs, downloads, and other tedious (and error-prone) deployment steps. Instead, a web application can be used on any computer that has Internet access. But when developers use clientside technologies, they encounter a few familiar headaches. Suddenly, cross-browser compatibility becomes a problem. Developers are forced to test their websites with different operating systems and browsers, and they might even need to distribute browser updates to their clients. In other words, the client-side model sacrifices some of the most important benefits of web development.
For that reason, ASP.NET is designed as a server-side technology. All ASP.NET code executes on the server. When the code is finished executing, the user receives an ordinary HTML page, which can be viewed in any browser. Figure 1-3 shows the difference between the server-side and client-side model.


The Problems with ASP
The original ASP became more popular than even Microsoft anticipated, and it wasn’t long before it was being wedged into all sorts of unusual places, including mission-critical business applications and highly trafficked e-commerce sites. Because ASP hadn’t been designed with these uses in mind, a number of problems began to appear. What began as a simple solution for creating interactive web pages became a complicated discipline that required knowledge in several fields as well as some painful experience. If you’ve programmed with ASP before, you may already be familiar with some or all of these problems:
Scripting limitations: ASP applications rely on the VBScript language, which suffers from a number of limitations, including poor performance. To overcome these problems, developers usually need to add separately developed components, which add a new layer of complexity. In ASP.NET, web pages are designed in a modern .NET language, not a scripting language.
No application structure: ASP code is inserted directly into a web page along with the HTML markup. The resulting tangle of code and HTML has nothing in common with today’s modern, object-oriented languages. As a result, web form code can rarely be reused or modified without hours of effort.
Headaches with deployment and configuration: If you want to update a component used in an ASP website, you often need to manually stop and restart the server. This process just isn’t practical on a live website. Changing configuration options can be just as ugly. Thankfully, ASP.NET includes a slew of features that allow websites to be dynamically updated and reconfigured.
State limitations: To ensure optimum performance, the Web is built on stateless protocols, which means as soon as a page is sent to a user, the connection is closed and any user-specific information is discarded. ASP includes a session state feature that allows programmers to work around this problem. Using session state, a web application can retain temporary information about each client in server memory. However, session state is useless in scenarios where a website is hosted by several separate web servers. In this scenario, a client might access server B while its session information is trapped on server A and essentially abandoned. ASP.NET corrects this problem by allowing state to be stored in a central repository, such as a separate process or a database thatall servers can access.
ASP.NET deals with these problems (and many more) by introducing a completely new model for web pages. This model is based on a remarkable piece of technology called the .NET Framework.
Referance :Book : Beginning ASP.NET in C# 2005 From Novice to ProfessionalPublisher : ApressAuthor : Matthew MacDonal