Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement, by Balachander Krishnamurty
and Jennifer Rexford, ISBN 0-201-71088-9, Addison-Wesley, 2001.
If you want to know something about the underlying workings of the Web, you can find it somewhere out there on the Web itself. But,
as we all know, it is not always easy to find the page you want, and particularly not if you are in a hurry and don't want to have
to wade through documentation hierarchies or download PDF files. In these cases a real book is unbeatable, if one is available.
Sadly, for information about the lower reaches of Web protocols there has been no single useful printed reference source
available.
This book fills that gap. It provides a detailed look at all the low level protocol issues as well as many other things; the book's
subtitle sums it up admirably. The first section provides a brief history of the Web and its development which introduces all the
important terminology and, most importantly, also says what the book is not about: nothing on XML (hurrah!), HTML, scripting
languages, administration of Web servers, or specific products.
Section two moves on to more technical matters looking at Web clients, proxies and servers. The client chapter has a particularly
useful section on spiders with an excellent table showing the names and calling hosts of the commonest spider programs. The
information about proxies and servers is also of high quality and provide a solid grounding in how they interact with each other
and the potential problems that can arise.
The third section looks at the protocols involved when using the Web. Starting with a concise run through TCP and the use of the
DNS, the authors then glance at FTP, SMTP and NNTP, before going to a detailed examination of HTTP/1.1. In my personal experience,
information on HTTP/1.1 has always been particularly inaccessible, both from the point of view of discoverability and readability,
and this chapter explained several things that I had been puzzled about, especially about cache control which is rather a black
art. (Also featured is a comprehensive table of HTTP return codes to which I shall turn quite often.) To finish this section of the
book, there is a chapter on how HTTP interacts with TCP—a whole area that I had never really thought about before and which is much
more complex that I would have thought it to be.
Next is a short section devoted to measuring and characterizing Web traffic. This a hugely contentious area and the discussion is
well balanced and sensible. Following this the authors look in more detail at caching and at multimedia streaming, and manage to
cover the latter topic without going into much unnecessary details about the actual bits that get sent whilst still giving a good
coverage of the important material.
To round off the book, there are three chapters devoted to research topics, looking again at caching, measurement and protocol
issues. Much of the material here is not directly of relevance to someone who is dealing with Web protocols on a daily basis, but
there is still much here that will be of interest as the authors draw attention to places where improvements can be expected and
how these might be realised.
As you might expect, there is also a comprehensive bibliography and index. All in all an excellent book that is well researched,
well written, and clearly set out without the excess of white space that is so common in computing books today. The price is
perhaps rather high (I certainly could not recommend this as a textbook to my students—they simply could not afford it), but for
people working in the industry it would be a worthwhile purchase and I think that they would soon find it an indispensable source
of reference.
DNS: Domain Name System
FTP: File Transfer Protocol
HTTP: HyperText Transfer Protocol
NNTP: Network News Transfer Protocol
PDF: Portable Document Format
SMTP: Simple Mail Transfer Protocol
TCP: Transmission Control Protocol
XML: Extensible Markup Language
We receive numerous books on computer networking from all the major publishers. If you've got a specific book you are interested in
reviewing, please contact us and we will make sure a copy is mailed to you. The book is yours to keep if you send us a review. We
accept reviews of new titles, as well as some of the "networking classics." Contact us at
ipj@cisco.com for more information.