Slashdot Mirror


HTTP Developer's Handbook

honestpuck writes "To say that understanding HTTP is crucial for web development might seem like saying water is wet, yet many people don't take the time to fully understand the protocol. This book could be a good help. HTTP Developer's Handbook from SAMS gives you a great deal of information about the protocol in a clearly understood fashion." Read on for the rest of honestpuck's review. HTTP Developer's Handbook author Chris Shiflett pages 280 publisher Developer's Library/SAMS rating 6 - Serious flaws reviewer Tony Williams ISBN 0672324547 summary Mixed volume with fair look at HTTP protocol

One of the strangest feelings I've ever had reading a book is that I have a better opinion of it than does the author. Shiflett spends most of the introduction convincing the reader that this is a useful book and it seems that the start of most chapters is another few sentences telling me why the chapter is incredibly useful for me to read. I felt like yelling "I'm convinced, I'm convinced."

The book is broken up into 6 parts: 'Introducing HTTP,' 'HTTP Definition,' 'Maintaining State,' 'Performance,' 'Security,' and 'Evolution of HTTP.'

The first section and a large part of the introduction are the sort of information that is covered elsewhere in just as good a detail: it basically covers the obvious. The second section covers the HTTP protocol itself, with a good discussion of requests and responses, including all the nitty gritty details of the headers in some detail. This is the really useful heart of the book and it covers 80 of the 280 pages. The third, fourth and fifth sections give a too-concise look at their subject matter, I felt the book could have given much more detail here. The last section is a waste of space; in this volume I don't really need to have a small amount of information about SOAP and XML-RPC.

This book is well-written; I believe its two fatal flaws are that Shiflett seems unsure of his own book and that the book itself tries to offer everything for a developer while explaining it all for the newcomer. I think that had Shiflett given up on the newcomer and given the developer greater depth (with a lot more examples) he would have delivered a much better book. For a developer, the volume is much too light on example code, the book is not really 'practical,' more 'informative.'

This might be a good volume for a library, either a corporate or school library. It provides the salient information in one spot in a concise and readable manner. I think that an individual might find it a less than totally useful book for the money -- you're likely to have already have a volume or two that covers most of the information, and with most languages in web development having libraries that take care of most of the low-level stuff for you, it becomes less and less necessary to really understand the bottom level. Personally, I'll keep it for the 80 page section on the HTTP definition so I have it all in one spot.

You can purchase HTTP Developer's Handbook from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

10 of 206 comments (clear)

  1. I barely understand the acronym... by phamlen · · Score: 5, Funny

    Understand the protocol? Heck, I've been doing web development for 10 years and I can't even remember what the acronym means....

    What does that second T stand for?

  2. As always, "a good reference" by goldspider · · Score: 5, Insightful
    Not to troll here, but why does every book review here conclude with the reviewer's assertion that the book they reviewed is a good reference?

    After reading the mostly-negative review, how am I supposed to believe that it is in fact "a good volume"? The reviewer even says that most people would find it to be a waste of money!

    What does it take for a reviewer to come out and declare "THIS BOOK ISN'T WORTH THE PAPER IT IS PRINTED ON"??

    --
    "Ask not what your country can do for you." --John F. Kennedy
  3. The specifics of HTTP are not vital knowledge by heironymouscoward · · Score: 5, Interesting

    Every developer should be forced to write a simple HTTP server just so that they understand the basic mechanisms of the protocol. But the full details go way, way beyond what I'd expect someone on my team to know (or spend time learning) unless they were writing a server, a HTTP client, or low-level HTTP interface functions.

    An efficient developer is one who is protected from the details of the technical world, and who can spend his energy and time on the functional aspects of his problem.

    That's my conclusion after 20 years of (mainly successful) software projects.

    --
    Ceci n'est pas une signature
  4. like saying what? by Anonymous Coward · · Score: 5, Funny
    To say that understanding HTTP is crucial for web development might seem like saying water is wet


    no, it's like saying "To be able to drink water you must first understand the various ways in which hydrogen and oxygen can combine"



    1. Re:like saying what? by idontgno · · Score: 5, Funny
      no, it's like saying "To be able to drink water you must first understand the various ways in which hydrogen and oxygen can combine"

      Sage words in this dangerous day. Imaging Drinking 101:

      See these two hydrogens and one oxygen? Drink that.
      See these two hydrogens and two oxygens? DON'T DRINK THAT!
      Now, throw in some carbon:
      Two carbons, six hydrogens, one oxygen: Drink that (carefully, preferably well hopped and poured slow).
      One carbon, four hydrogens, one oxygen: Don't drink that (thin paint with it though).

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
  5. Just write your own web server by joshv · · Score: 5, Insightful

    Just write your own web server, in whatever language. You will become intimately familiar with the HTTP protocol. That is if you implement form processing, cookies, and multi-part encodings and such.

    -josh

  6. Far too many web developers.... by wowbagger · · Score: 5, Insightful

    Far too many web developers forget what the FIRST T stands for....

  7. HTML may be playing a bigger role .. by igorko · · Score: 5, Insightful

    Sure, some developers won't grasp HTTP is a stateless protocol. Others remain ignorant of the fact it's trivial to spoof and continue to rely on the the refferer as means of session tracking. But that's not where the big problems are. They lie in misuse of HTML.

    1. most people use it to "design pages", not represent data. H1, H2 .. tags are miserably neglected (in favour of, say, FONT). Flash, on the other hand, is used where it shouldn't be.

    2. small fonts (guess what: verdana is NOT cool), sans-serif for main text, low-contrast hard-to-read colors, and so on.

    3. propriatery HTML (say IE 6.0+ only), fixed-resolution design

    and many other bugs of the sort. Reading W3C's HTML 4.01 & CSS2 specifications and some usability guides (www.useit.com) should be more insightful than following up on HTTP headers. What works for me is knowing it's stateless, what this means, cookies and url rewriting, and SSL/TSL. The only time I used cleancut HTTP was when testing certain servers via telnet 80.

    Verisign and networksolutions are an additional problem, but that's another story altogether.

    For a webdesigner, the protocol details are of little use. There are more important things to study.
    -i

  8. Re:HTTP knowledge required? by ceije · · Score: 5, Interesting
    I'm not convinced that web-developers need a knowledge of HTTP.
    For hobby sites, no. For proper sites, definitely. Far too many people build a site without any understanding of how the browser talks to the server.
    I think that for a programmer or admin working on a web site of any size, it's good to have a basic understanding of HTTP. It's doubly important for those working on a large site. I work at a pretty heavily-trafficked web site and when we were looking for performance improvements, the first thing we did was look through Apache release notes. We found that an HTTP issue in the version of Apache we were running at the time caused graphics that were distributed across mutliple servers to be treated by web clients as different files, hence not cached.

    By removing the inode portion of the entity tag (ETag) response in HTTP headers we were able to get a 40% reduction in files served because of client-side caching, which reduced the last byte page load times for most users, and allowed us to repurpose several web boxes to serve dynamic pages.

    It was a really trivial fix that made a big difference to user experience.
  9. Honest Criticism by shiflett · · Score: 5, Informative

    I appreciate the honest feedback, and I'd like to address a few concerns/criticisms/whatever that I have seen mentioned.

    Convincing the reader of the importance of HTTP - The first few pages do focus a lot on explaining why HTTP is important to a Web developer. Just look at all of the comments that mention how knowing HTTP is useless, and you can hopefully see why I think this is important. I see questions on various mailing lists all the time that reflect a general lack of knowledge in this area; developers don't really understand cookies, when SSL is needed (or what it does), how to secure their sessions (or applications in general), how to keep up with data from one page to the next, and all sorts of things.

    The book caters to beginners - I want the book to cater to both the beginner and the experienced developer. HTTP isn't rocket science, and it can provide a great foundation for Web developers to build from. For those who are already experienced, the book can provide a good reference to the protocol (if you're experienced, you should also know that RFC 2616 isn't a substitute for this) and can help people gain a deeper understanding of things they already know a little about. I don't think a book has to confuse the reader to be considered advanced, and I wasn't writing to impress anyone. My approach was to try and help as many people as I could.

    Learn Dreamweaver, not HTTP - Well, people with this opinion might be a lost cause, but what happens when your next place of employment thinks FrontPage is the only way to write Web applications? In general, I think it is better to teach people fundamental things and let them apply those things in any way that they want.

    I also have a companion Web site for the book at http://shiflett.org/books/http-developers-handbook .