Description
Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement is an all-in-one reference to the core technologies underlying the World Wide Web. The book provides an authoritative and in-depth look at the systems and protocols responsible for the transfer of content across the Web. The HyperText Transfer Protocol (HTTP) is responsible for nearly three-quarters of the traffic in today's Internet. This book's extensive treatment of HTTP/1.1 and its interaction with other network protocols is an indispensable resource for students. This book details the evolution and complete details of the basic building blocks of the Web. Beginning with an overview of Web software components, Web Protocols and Practice then describes the suite of protocols that form the semantic core of how content is delivered on the Web. The second half of the book examines Web measurement and workload characterization and presents a state-of-the-art report on Web caching and multimedia streaming. The book ends with a discussion of research perspectives to highlight topics that may impact the future evolution of the Web.
Table of Contents
I. GETTING STARTED.
1. Introduction.
Origin and Growth of the World Wide Web.
Historical Evolution of the Web.
The State of the Web.
Semantic Components of the Web.
Uniform Resource Identifer (URI).
HyperText Markup Language (HTML).
HyperText Transfer Protocol (HTTP).
Terms and Concepts.
Content on the Web.
Software Components.
Underlying Network.
Standardization.
Web.
Web Applications.
Topics Not Covered.
Tour Through the Book.
II. WEB SOFTWARE COMPONENTS.
2. Web Clients.
Client as a program.
Evolution of the browser.
Web-related browser functions.
Canonical Web transfer example.
Issuing a request from a browser.
Browser caching.
Request message headers.
Response handling.
Browser configuration.
Physical appearance.
Semantic choices.
Configuring browser for non-protocol functions.
Browser security issues.
Cookies.
Motivations for cookies.
Use of cookies in a browser.
User's control over cookies.
Privacy problems with cookies.
Spiders.
Searching on the Web.
Spider client.
Use of spiders in search engines.
Intelligent agents and special-purpose browsers.
Intelligent agents.
Special-purpose browsers.
Summary.
3. Web Proxies.
History and evolution of intermediaries.
High-level classification of proxies.
Caching proxy.
Transparent proxy.
Proxy applications.
Sharing access to the Web.
Caching responses.
Anonymizing clients.
Transforming requests and responses.
Gateway to non-HTTP systems.
Filtering requests and responses.
HTTP-related proxy roles.
Steps in request-response exchange with a proxy.
Handling HTTP requests and responses.
Proxy as Web server.
Proxy as Web client.
Example use of a proxy.
Proxy chaining and hierarchies.
Proxy configuration.
Proxy privacy issues.
Other kinds of proxies.
Reverse proxies or surrogates.
Interception proxies.
Summary.
4. Web Servers.
Web Site Versus Web Server.
Web Site.
Web Server.
Handling a Client Request.
Steps in Handling a Client Request.
Access Control.
Dynamically Generated Responses.
Creating and Using Cookies.
Sharing Information Across Requests.
Sharing HTTP Responses Across Requests.
Sharing Metadata Across Requests.
Server Architecture.
Event-Driven Server Architecture.
Process-Driven Server Architecture.
Hybrid Server Architecture.
Server Hosting.
Multiple Web Sites on a Single Machine.
Multiple Machines for a Single Web Site.
Case Study: Apache Web Server.
Resource Management.
HTTP Request Processing.
Summary.
III. WEB PROTOCOLS.
5. Protocols Underlying HTTP.
Internet Protocol.
Evolution of the Internet Architecture.
IP Design Goals.
IP Addresses.
IP Header Details.
Transmission Control Protocol 0.
Socket Abstraction 1.
Ordered Reliable Byte Stream.
Opening and Closing a TCP Connection.
Sliding-Window Flow Control.
Retransmission of Lost Packets.
TCP Congestion Control.
TCP Header Details.
Domain Name System.
DNS Resolver.
DNS Architecture.
DNS Protocol.
DNS Queries and the Web.
DNS-Based Web Server Load Balancing.
Application-Layer Protocols.
Telnet Protocol.
File Transfer Protocol.
Simple Mail Transfer Protocol.
The Network News Transfer Protocol.
Properties of Application-Layer Protocols.
Summary.
6. HTTP Protocol Design and Description.
Overview of HTTP.
Protocol properties.
Protocol infuences.
HTTP language elements.
HTTP terms.
HTTP/1.0 Request Methods.
HTTP/1.0 Headers.
HTTP/1.0 Response classes.
HTTP Extensibility.
SSL and Security.
SSL.
HTTPS: Using SSL in Web exchanges.
Security in HTTP/1.0.
Protocol compliance and interoperability.
Version number and interoperability.
MUST, SHOULD, MAY requirement levels.
Summary.
7. HTTP/1.1 221.
The evolution of HTTP/1.1 protocol.
History of evolution.
Problems with HTTP/1.0 25.
New concepts in HTTP/1.1.
Methods, headers, response codes in 1.0 and 1.1.
Old and new request methods.
Old and new headers.
Old and new response codes.
Caching.
Caching related terms.
Caching in HTTP/1.0.
Caching in HTTP/1.1.
Bandwidth optimization.
The Range request.
The Expect/Continue mechanism.
Compression.
Connection Management.
The Connection: Keep-Alive mechanism of HTTP/1.0.
Evolution of HTTP/1.1 persistent connection mechanism.
The Connection header.
Pipelining on persistent connections.
Closing persistent connections.
Message transmission.
Extensibility.
Learning about the server.
Learning about intermediate servers.
Upgrading to other protocols.
Internet address conservation.
Content negotiation.
Security, authentication, and integrity.
Security and authentication.
Integrity.
The role of proxies in HTTP/1.1.
Types of proxies.
Syntactic requirements on an HTTP/1.1 proxy.
Semantic requirements on an HTTP/1.1 proxy.
Other miscellaneous changes.
Method-related miscellaneous changes.
Header-related miscellaneous changes.
Response-code-related miscellaneous changes.
Summary.
8. HTTP/TCP Interaction.
TCP Timers.
Retransmission Timer.
Slow-Start Restart.
The TIME WAIT State.
HTTP/TCP Layering.
Aborted HTTP Transfers.
Nagle's Algorithm.
Delayed Acknowledgments.
Multiplexing TCP Connections.
Motivation for Parallel Connections.
Problems with Parallel Connections.
Server Overheads.
Combining System Calls.
Managing Multiple Connections.
Summary.
IV. MEASURING AND CHARACTERIZING WEB TRAFFIC.
9. Web Traffic Measurement.
Motivation for Web Measurement.
Motivation for Content Creators.
Motivation for Web Hosting Companies.
Motivation for Network Operators.
Motivation for Web/Networking Researchers.
Measurement Techniques.
Server Logging.
Proxy Logging.
Client Logging.
Packet Traces.
Active Measurement.
Proxy/Server Logs.
Common Log Format (CLF).
Extended Common Log Format (ECLF).
Preprocessing Measurement Data for Analysis.
Parsing Measurement Data.
Filtering Measurement Data.
Transforming Measurement Data.
Drawing Inferences From Measurement Data.
Limitations of HTTP Header Information.
Ambiguous Client/Server Identity.
Inferring User Actions.
Detecting Resource Modifications.
Case Studies.
Saskatchewan Server Log Study.
British Columbia Proxy Log Study.
Boston University Client Log Study.
AT&T Packet-Trace Study.
Summary.
10. Web Workload Characterization.
Workload Characterization.
Applications of Workload Models.
Selecting Workload Parameters.
Statistics and Probability Distributions.
Mean, Median, and Variance.
Probability Distributions.
HTTP Message Characteristics.
HTTP Request Methods.
HTTP Response Codes.
Web Resource Characteristics.
Content Types.
Resource Sizes.
Response Sizes.
Resource Popularity.
Resource Changes.
Temporal Locality.
Number of Embedded Resources.
User Behavior Characteristics.
Session and Request Arrivals.
Clicks per Session.
Request Interarrival Time.
Applying Workload Models.
Combining Workload Parameters.
Validating the Workload Model.
Generating Synthetic Traffic.
User Privacy.
Access to User-Level Data.
Information Available to Software Components.
Application of User-Level Data.
Summary.
V. WEB APPLICATIONS.
11. Web Caching.
The origins and goals of Web Caching.
Why cache?
What is cacheable?
Protocol-speci_c considerations.
Content-speci_c considerations.
Where is caching done?
How is caching done?
Deciding whether a message is cacheable.
Cache replacement and storing response in cache.
Returning a cached response.
Maintaining a cache.
Cache replacement.
Cache coherency.
Rate of change of resources.
Cache-related protocols.
Internet Cache Protocol (ICP).
Cache Array Resolution Protocol (CARP).
Cache Digest Protocol.
Web Cache Coordination Protocol (WCCP).
Cache software and hardware.
Cache software: The Squid cache.
Caching hardware.
Impediments to caching.
Cache busting.
Privacy issues in caching.
Caching versus replication.
Content distribution.
Content adaptation.
Summary.
12. Delivering Multimedia Streams.
Multimedia Streaming.
Audio and Video Data.
Multimedia Streaming Applications.
Properties of Multimedia Applications.
Delivering Multimedia Content.
Performance Requirements.
Limitations of IP Networks.
Multimedia-on-Demand Over HTTP.
Protocols for Multimedia Streaming.
Data Transport.
Session Establishment.
Session Description.
Presentation Description.
Real Time Streaming Protocol.
Similarities and Differences.
RTSP Request Methods.
RTSP Headers.
RTSP Status Codes.
Summary.
VI. Research Perspectives.
13. Research Perspectives in Caching.
Cache revalidation and invalidation.
Costs associated with revalidation.
Prevalidation.
The Piggybacking approach.
Server-driven invalidation.
End-to-end information exchange.
Server volumes.
Proxy filters.
Volumes and Filters: Practical details.
Volume Construction Algorithms.
Evaluation of volume construction algorithms.
End-to-end information exchange summary.
Prefetching.
DNS Prefetching.
Connection Prefetching.
HTTP Prefetching.
Trade-offs in Prefetching.
Summary.
14. Research Perspectives in Measurement.
Packet Monitoring of HTTP Traffic.
Tapping a Link.
Capturing Packets.
Demultiplexing Packets.
Reconstructing the Ordered Stream.
Extracting HTTP Messages.
Generating HTTP Traces.
Analyzing Web Server Logs.
Parsing and Filtering.
Transforming.
Publicly-Available Logs and Traces.
Measuring Multimedia Streams.
Static Analysis of Multimedia Resources.
Multimedia Server Logs.
Packet Monitoring of Multimedia Streams.
Multi-Layer Packet Monitoring.
Summary.
15. Research Perspectives in Protocol Issues.
Multiplexing HTTP Transfers.
WebMux: An experimental multiplexing Protocol.
TCP Control Block Interdependence.
Integrated Congestion Management.
Adding a Differencing Mechanism to HTTP/1.1.
Motivations for a differencing mechanism for HTTP messages.
Evaluation of delta algorithms.
Deployment issues of delta mechanism in HTTP/1.1.
Status of adding delta mechanism to HTTP/1.1.
HTTP/1.1 Protocol compliance.
Motivation for protocol compliance study.
Testing compliance of clients and proxies.
Methodology of testing compliance.
PROCOW: A large scale compliance study.
Summary of protocol compliance.
End-to-end measurements to study Web performance.
Identifying the factors in end-to-end performance.
Report on an end-to-end performance study.
Summary of end-to-end performance study.
Other extensions to HTTP.
Transparent Content Negotiation.
WebDAV|Web Distributed Authoring and Versioning.
An HTTP Extension Framework.
Summary.
Bibliography.
Index. 0201710889T04062001
Back Cover
Praise for Web Protocols and Practice
“This is the most comprehensive, well-researched coverage of the basic Web protocols that I have seen. The authors have done especially well at uncovering the history and rationale of the protocol design process.”
—
Jeffrey Mogul, coauthor of the HTTP/1.1 standard
“This book will help demystify how the Internet and the Web work. Despite the current Web’s size and importance, it can be broken down into a small number of components that can be understood and controlled. This encyclopedic tome can be read straight through or used as a reference by those trying to understand or build sophisticated Internet applications.”
—
Brewster Kahle, President, Alexa Internet; Inventor of WAIS
“Web Protocols and Practice covers the most important Internet application—the Web—with unprecedented breadth, depth, and motivation. An important reference book for anyone who wants to understand the Web architecture inside and out.”
—
Steve McCanne, Chief Technology Officer, Inktomi
“The authors have gathered and explained a great deal of material not found elsewhere and created an encyclopedia of the how and why of the Web.”
—
Larry Masinter, Principal Scientist, Adobe Systems Inc.; past chair of HTTP and URI IETF working groups
“I learned a lot about the reasons for Web performance—from microscopic detail about specific interactions of layers to macroscopic traffic related issues. Everyone will want this book.”
—
Jon Crowcroft, Professor, Networks Systems, University College London
“This book is likely to be an invaluable resource for anyone interested in understanding the protocols and infrastructure behind the Web. I especially like the attention to the evolution and historical development of the Web protocols and to the sometimes unanticipated interactions between the various protocols.”
—
Sally Floyd, Senior Scientist, AT&T Center for Internet Research at the International Computer Science Institute
“This is a book that could very well have been entitled ‘Everything You Ever Wanted to Know About the Web But Did Not Know Who to Ask’.”
—
Roch Guerin, Alfred Fitler Moore Professor of Telecommunication Networks, University of Pennsylvania
“The book is especially useful for Web site developers who can improve the user experience at their sites through a better understanding of the protocol performance issues discussed throughout the book. The material on the evolution from HTTP 1.0 to 1.1 is difficult to find outside of scattered research papers and standards documents. Overall, this book is a valuable resource for Web professionals and anyone interested in learning what makes the Web tick.”
—
Ramón Cáceres, Chief Scientist, Vindigo
“The authors have done a superb job in explaining the complex interactions of the Web protocols. The book is a unique resource for anyone who wants to learn how the Web really works.”
—
Jorg Liebeherr, Professor, University of Virginia
“It’s a great book for anyone interested in deep knowledge of Web-based techniques and is a must for Web architects and administrators.”
—
Eduardo Krell, Chief Technology Officer and Web Architect, Adexus, Santiago, Chile
“Good book! Describes things I have not seen before in print. Perfect for people who have a need to understand how HTTP works.”
—
Patrik Faltstrom, Applications Area Director, IETF
Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement is an all-in-one reference to the core technologies underlying the World Wide Web. The book provides an authoritative and in-depth look at the systems and protocols responsible for the transfer of content across the Web. The HyperText Transfer Protocol (HTTP) is responsible for nearly three-quarters of the traffic on today¿s Internet. This book¿s extensive treatment of HTTP/1.1 and its interaction with other network protocols make it an indispensable resource for both practitioners and students.
Providing both the evolution and complete details of the basic building blocks of the Web, Web Protocols and Practice begins with an overview of Web software components and follows up with a description of the suite of protocols that form the semantic core of how content is delivered on the Web. The book later examines Web measurement and workload characterization and presents a cutting-edge report on Web caching and multimedia streaming. It concludes with a discussion on research perspectives that highlight topics that may affect the future evolution of the Web.
Numerous examples and case studies throughout the book detail key developments in Web technology, including the following:
- The history and evolution of the Web¿s key software components, including clients, proxies, and servers
- Exploration of scripts, search engines, spiders, cookies, and authentication
- The standard protocols: Internet Protocol (IP), Transmission Control Protocol (TCP), Domain Name System (DNS), and the first detailed coverage of the HTTP/1.1 standard
- The evolving suite of protocols for transferring multimedia streams, including the Real-Time Streaming Protocol (RTSP)
- Techniques for collecting and analyzing Web traffic measurements
- Web caching, inter-cache protocols, caching hardware and software, and the move toward content distribution networks
- Evolving technologies specific to caching, measurement, and protocols
Timely and in-depth, Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement is the first book to document the Web¿s technical backbone in a comprehensive manner.
Author
Balachander Krishnamurthy of AT&T Labs–Research is a well-known researcher and the author of numerous publications in the World Wide Web and networking fields. He has published more than forty-five technical papers, coauthored and edited Practical Reusable UNIX Software, and was the series editor for the Trends in Software series of books. He holds several patents and has been a guest lecturer in more than thirty countries. His recent papers can be found at http://www.research.att.com/~bala/papers.
Jennifer Rexford of AT&T Labs–Research is an established researcher and the author of numerous publications in the areas of IP networking, multimedia streaming, and the World Wide Web. She has served on the editorial board for IEEE/ACM Transactions on Networking and on program committees for the main networking conferences. Her recent papers can be found at http://www.research.att.com/~jrex.
0201710889AB05012001