IN THIS CHAPTER
Overview of browser functionality
Processing HTTP requests and responses
Cookies, privacy, and P3P
Complex HTTP interactions
Establish the set of tasks that web browsers must perform.
Break down browser architecture into component modules, establishing the responsibilities of these modules and their interactions.
Provide an in-depth analysis of the processing flow in a web browser.
Examine how browsers create and transmit HTTP requests, receive and interpret HTTP responses, and interact with the user.
Focus on browser support for cookies, caching, and authorization.
Examine the page-rendering process, including generating requests for supporting data items and using plug-ins and helper applications to render multimedia content.
In this chapter, we go over the fundamental considerations in designing and building a web browser, and other sophisticated web clients. When discussing web browsers, our focus is not on the graphical aspects of browser functionality (i.e., the layout of pages or the rendering of images). Instead, we concentrate on the issues associated with the processing of HTTP requests and responses. The value of this knowledge will become apparent as we proceed to a discussion of sophisticated web applications in the following chapters.
It is not uncommon for the wisdom of studying web browser design to be questioned. After all, the task of designing a browser is a fait accompli, a known problem that already ...