Carefully prepared content gets all the glory, but the job of delivering multimedia information to the people and machines who require it falls to a set of protocols. Web Protocols and Practice
explains how resources locate one another on the constantly changing Internet, how they ask for other resources, and how those documents and media are delivered. This comprehensive document does more than any other book around to eliminate vague hand-waving and actually explain how the Internet works
. Anyone who's heard explanations along the lines of, "The Domain Name Service resolves the machine name to an IP address" or "The browser makes a POST request" and wanted to scream "But HOW?" will love what Balachander Krishnamurthy and Jennifer Rexford have done in these pages.
The authors approach HyperText Transfer Protocol (HTTP) and the other protocols covered from an engineering perspective, which is to say that they outline the problems the protocols are meant to solve before going into detail about what the protocols do. They also explain the evolution of protocols over time, and call attention to the shortcomings of protocols and their likely evolutionary paths. Nearly all of the explanatory material takes the form of bright, carefully considered text that's supplemented by message listings ("The server could reply with...") and a handful of conceptual diagrams. Later chapters transcend the protocols themselves to focus on questions of reliability, traffic measurement, and efficient caching. --David Wall
Topics covered: The protocols that underpin transactions on the Internet and other networks that employ Internet communications standards. Detailed coverage goes to the HyperText Transfer Protocol (HTTP) versions 1.0 and 1.1, the Internet Protocol addressing scheme, and the Transmission Control Protocol specification. Design of Web servers, cache servers, and proxy servers gets much attention, as do site workload and traffic metrics.
This book describes the technical underpinnings of the World Wide Web. We discuss the technology for transferring, caching, and measuring the messages that carry the content between Web sites and end users. The messages are exchanged between clients, proxies, and serversthe three main software components of the Web. The format and transfer of these messages are dictated by communication protocols codified in standards documents over a period of years. Evaluating and improving Web performance relies on having effective techniques for collecting and analyzing measurements of the message traffic. By moving Web content closer to the end users, caching reduces user-perceived latency, as well as load on the Web servers and the underlying network. Web traffic is moving from delivery of text and image content to include audio and video streaming. Multimedia streaming has its own suite of communication protocols. These topics, constituting the technical core of the Web, are discussed in detail in this book.
This book provides a comprehensive treatment of the systems and protocols responsible for the transfer of Web content. The audience for this book includes Web technologists, Web site administrators, developers who rely on the Web infrastructure, students in networking and the Web, and the Web research community. The book focuses on the mature and stable aspects of the Web. In contrast to the rapidly changing techniques for creating and displaying Web content, the standardized communication protocols discussed in the book change relatively slowly. A variety of examples, state-of-the-art reports, and case studies are used to illustrate the operation of the Web and the interplay among the various components. The book includes detailed examples of the HTTP protocol, a state-of-the-art overview of Web caching and multimedia streaming, and case studies of the Apache Web server, the Squid proxy, and traffic measurement techniques. The book is a valuable resource for understanding the technology and current practices of the Web. Organization of the Book
The first section of the book consists of an opening chapter that provides a broad overview of the evolution of the World Wide Web and discusses the Web's naming infrastructure, document language, and message exchange protocol. The remainder of the book is divided into five sections consisting of 14 chapters:
Software components: These three chapters present the inner workings of clients, proxies, and servers, including a discussion of related topics such as scripts, handlers, search engines, cookies, and authentication.
Web protocols: The core of the book, these four chapters present the networking protocols underlying the Web (Internet Protocol, Transmission Control Protocol, and the Domain Name System), the design of HTTP/1.0, a comprehensive overview of HTTP/1.1, and the interaction between http and TCP.
Traffic measurement and workload characterization: These two chapters describe the various techniques for measuring and analyzing Web traffic, as well as an overview of the key parameters of Web workload models used in evaluating Web performance.
Web caching and multimedia streaming: These two chapters provide a state-of-the-art overview of key Web applications. Web caching involves moving content closer to the user to reduce user-perceived latency and the load on the server and the network. Multimedia streaming involves overlapping the transfer of audio and video data with the playback at the receiver.
Research perspectives: These three chapters present research perspectives on caching, measurement, and protocols to provide a glimpse of the evolving technology in these areas and reinforce the material presented in the earlier parts of the book. Intended Audience
The book is self-contained and does not assume any prior knowledge of Web or networking technology. An extensive bibliography points readers to additional information on specific topics. The book has several audience segments, including:
Students: Undergraduate students in advanced courses and graduate students can use the book as an introduction to the protocol, network, and measurement aspects of the Web. The book is self-contained and does not assume the student is familiar with network protocols. We do assume a basic familiarity with computer science concepts. The book includes case studies and research perspectives to guide students in applying the ideas they have learned. The book's focus on core concepts and protocol evolution ensures that the student acquires knowledge that has broad applications beyond any particular realization of Web technology.
Web technologists: The book provides developers with an in-depth treatment of the various protocols and software components in the Web. A developer can learn about HTTP and the related networking protocols, such as IP, TCP, and DNS, and their relationship to Web clients, proxies, and servers. In addition, the book includes an extensive treatment of Web traffic measurement andworkload characterization that can aid developers in evaluating and improving the performance of their software in realistic settings.
Web and networking researchers: Academic and industrial researchers can use the book as a primary source of information about the technical underpinnings of the Web and its relationship to the Internet. The core portions of the book highlight the mature technologies underlying the Web, to provide the necessary context for research work in this area. The advanced material on research perspectives provides a timely view of ongoing work that may influence the evolution of the Web, and the extensive bibliography points the reader to research publications and standards documents with additional details.
Web administrators: Administrators of Web proxies and servers can develop a deeper understanding of the operation of these software components. The book can serve as a reference for key concepts and protocol features. The emphasis on performance issues can aid administrators in tuning the configuration of a proxy or server, complementing other texts that present detailed guidelines of how to configure a particular hardware or software platform. The material on Web measurement and the interaction between HTTP and networking protocols can help administrators in diagnosing performance problems.
The book can be used as a reference, a self-study guide, or part of a one- or two-semester course on Web technology or networking. Readers may follow a variety of paths through the book, depending on their backgrounds and interests. Some readers may skip the elementary chapters, whereas other readers may skip the research perspectives material.