JavaServer Pages



beginning. Once this is understood, it will be clear how JSPs solve these problems and
make page creation so easy.

1.1 A Brief History of the Web
A Web transaction involves two participants: the browser and the server. As originally
conceived, the browser was supposed to be a very simple, lightweight program that
would allow users to navigate through data. This data could consist of plain text, HTML,
images, and so on, and the browser would render all the data in a way that humans could
understand and interact with. Data could be interconnected, and the browser would render
references between documents as an image or text that could be clicked or otherwise
selected.
Over time, regrettably, rapid development, the race to add new features, and poor
adherence to standards have caused browsers to lose the simplicity for which they once
strived. This has resulted in a situation best summarized by Internet legend James "Kibo"
Parry's description of browsers as "fragile assemblies of bugs, held together with Hello
Kitty stickers."
The server is an equally complex program. The server is responsible for finding the data
requested by the browser, packaging the data for transmission, and sending it back to the
browser.
In the simplest kind of Web transaction, the browser asks for a single document from the
server, and the server retrieves this data and sends it back, at which point the browser
renders it in an appropriate way for the user. This whole process is shown in

Figure 1.1
.
Figure 1.1. The relationship between browser and server.