From this concept, the hyperlink as we know it today was born. Now, Tim Berners- Lee wasn’t 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 Internet’s 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. It’s 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.  It’s  the  server’s  duty  to  figure  out  how  to respond, and it’s the client’s 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. It’s telling to note that the two institutions that did so much to give birth to the Web—the Conseil Européen pour  la  Recherche  Nucléaire  (CERN)  and  the  National  Center  for  Supercomputing Applications  at  the  University  of  Illinois  at  Urbana-Champaign—had  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 don’t have to worry about installing a software applica- tion on everybody’s desktop or requiring customers to install software at home. On top of that, you don’t have to worry about different platforms. From a logistical standpoint alone, the Web is the obvious platform choice for many applications. There’s 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 didn’t support cookies, which allow you to  bind  different  HTTP  transactions  together  into  user  sessions.  When  you  are  just sharing static documents, you don’t need to tie different HTTP transactions together. The documents always remain the same, so it doesn’t 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. You’ll 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