We’ve already discussed HTTP a little in previous chapters. For example, in Chapter 19, when we discussed how classes are actually vended over a network, we discussed the basic structure of an HTTP message. We will expand on those discussions a little bit here and talk about how web servers have evolved over the past 10 years.
HTTP is a communications protocol that was designed for the World Wide Web. It was designed to facilitate the retrieval of static pages of information. That is, the protocol assumed that the pages being sent already existed and were merely being retrieved from a server. A URL such as http://www.salon.com/ent/tv/temptation/index.html meant, “Go to the web server running on the machine named http://www.salon.com and fetch me the contents of the file to which /ent/tv/temptation/index.html refers.”
This is certainly what happens with our dynamic class server. When the RMI runtime requests the bytecode for a class, all our class server does is send the contents of a .class file back over the network.
The next step in the evolution of the Web was the invention of dynamic pages. The invention of dynamic pages really boiled down to the realization that the client didn’t care whether the information being returned already existed. All a web browser needs is a response; whether the web server read the response from a file (commonly referred to as returning a static page) or is somehow generating the page on the ...