When the World Wide Web first became popular, HTML was the only language programmers could use to create Web pages. They soon learned that HTML had some major limitations. Although HTML presented the user with a "page" of information, the Web page and the user had a limited amount of interaction; the experience was like reading the front page of a newspaper on a computer monitor. Now most computer users, whether they use Windows, Macintosh, UNIX, or a combination of the three, are accustomed to graphical applications that provide interaction. They're used to clicking buttons, entering values into text boxes, and choosing from menus. In fact, the only way to get useful work done with a computer is to interact with it. The first generation of Web pages provided information to the users, but the users could not interact with the Web the way they could with their word processors. If users wanted to interact with their Web pages, they had to send the data to the server, which contained all the "smarts." The server sent its results back to the Web page. This interaction required a great deal of extra time, effort, and overhead, and the user interface was very constrained compared to other popular applications.
Fortunately, the builders of the Internet and the World Wide Web recognized these limitations. They soon realized that if the user was denied the capability to interact with the Web page, the Web itself would become little more than a collection of information, much like a library of books. Although that collection is very useful, users demand more from their computers than a duplication of what they could find elsewhere.
The capabilities of HTML began to grow and become more powerful. Soon, designers began to realize that they needed more than just HTML to make the Internet accessible and useful to the masses. Corporations that wanted to develop enterprise solutions or explore the profit potential of the Internet also began to pressure designers to give them something more.
The Internet is basically a client and server environment, with 3 components to the medium:
- Client side technologies
- Server side technologies
- Network
Each will be discussed in turn in this article. So when you’re ready, grap a cup of coffee and carry on reading!