In the early stages of the Web, requests were made for full-bodied, static documents. Recognizing the power of the Web, many people began experimenting with ways to provide content tailored to the user. As the documents evolved, so did the protocol which defined how they were shared. In order to better control the user experience, additional headers were added. These headers help address issues with browser compatibility, client-side caching, and reduce latency for content which was being generated on the fly.
As the Web became more popular, different groups tried to improve and extend it in different ways. This led to multiple browser implementations with their own extensions upon HTML, and their own way of interpreting the standards. The user-agent header allowed a browser to identify itself to the server. A server could then generate content specifically for the requesting browser. This marks an important shift in the evolution of the internet. Instead of a document being a single static object, it was represented by many different variations. The response sent to a user with the Mosaic browser would be different than the response for the same request issued by a user with the Netscape browser. Documents became dynamic.
The addition of the user-agent header was seen as a small price to pay for the ability to tailor content to the user’s browser’s capabilities better. A dozen more characters of request data was still inconsequential compared to the weight of the document. However, a precedent was being set by this and other enhancements.
Browser capabilities weren’t the only thing shaping the dynamic content of documents. The addition of CGI and other mechanisms meant that users could send parameterized requests which would direct the server to generate content instead of simply switching between different copies of pre-generated static documents. With CGI, a server could parse the request headers and body and extract user supplied information from links or submitted forms. That information was then used to build the document’s content on the fly.
THIS IS A PREVIEW. DOWNLOAD ISSUE 12 TO READ THE FULL ARTICLE.