From this concept, the hyperlink as we know it today was born. Now, Tim Berners- Lee wasnt the first to conceive of a hyperlink, but he implemented his system correctly and kept it simple enough so that it could propagate. He was also helped by a couple of other factors. First, the timing was right. The Internets underlying protocol, Trans- mission Control Protocol/Internet Protocol (TCP/IP), was well formed and widely used by this time. Second, he invented the system in an academic setting. This is a commonality of many of the great Internet standards. Its easier to freely share a set of protocols through academia than in a commercial landscape. In the early 1990s, it was unheard of for software companies to give away complex software and designs for free. However, the key reason why the Web grew is that it began as a very simple system. HTTP began as an extremely simple protocol and remains largely so to this day. You send a request and receive a response. Its the servers duty to figure out how to respond, and its the clients duty to act upon the response. There were only three pos- sible methods for asking: GET, POST, and the rarely used HEAD. This made it easy to develop Web servers. The client only had to understand a handful of possible responses. Likewise, HTML was designed with simplicity in mind. Instead of using the much more powerful but much more complex SGML, Berners-Lee opted for only a subset. Developing servers and clients was so easy, in fact, that much of the early development of the Web was completed by developers and students working in their spare time, or by professionals working on it as a special project. Its telling to note that the two institutions that did so much to give birth to the Webthe Conseil Européen pour la Recherche Nucléaire (CERN) and the National Center for Supercomputing Applications at the University of Illinois at Urbana-Champaignhad no research focus on network computing at the time the Web was invented in their labs! Because of its simplicity, the Web spread like wildfire. It spread so far that now more than half of the American people have Web access. Most everyone who has a computer on their desk at work has Web access. This pervasiveness makes it an ideal platform for application development. You dont have to worry about installing a software applica- tion on everybodys desktop or requiring customers to install software at home. On top of that, you dont have to worry about different platforms. From a logistical standpoint alone, the Web is the obvious platform choice for many applications. Theres only one little problem: The Web was originally intended for simple docu- ment sharing! This causes some issues, the most obvious of which derives from the stateless nature of the Web. HTTP originally didnt support cookies, which allow you to bind different HTTP transactions together into user sessions. When you are just sharing static documents, you dont need to tie different HTTP transactions together. The documents always remain the same, so it doesnt matter what documents the user requested previously. However, when your data is dynamic, it often does matter what requests preceded the current one. A shopping cart application is a good example of this. When the user is ready to purchase the items, the Web application has to have tracked what items were selected across several HTTP transactions. There are several techniques to address this problem, not the least of which is cook- ies. XSQL fully supports both cookies and servlet sessions. Youll learn about these mechanisms as the book progresses. More to the point, though: the mechanisms for supporting sessions were added to the original HTTP after the initial design, as were JavaScript and the concept of connecting databases to the Web. Perhaps most impor- tant, however, is that HTML documents are inadequate for conveying information. Introducing Oracle XSQL 3 271209 Ch01.F 12/9/02 2:00 PM Page 3