Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement
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 Practiceexplains 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 explainhow 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 WallTopics 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.