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.

24 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?

    1. Re:I barely understand the acronym... by Tennguin · · Score: 4, Informative

      HyperTextTransferProtocol

  2. w3c by stonebeat.org · · Score: 4, Insightful

    why would i wanna "buy" a book, that has info that is already available on http://www.w3c.org?
    You can also join the W3c mailing lists to get in-depth info on any of the technology stacks.

    1. Re:w3c by Xerithane · · Score: 4, Funny

      Teach Yourself your an Idiot, in 24 Hours!

      If that was intentional, that was pure genius.

      Otherwise, "Oh, The Irony."

      --
      Dacels Jewelers can't be trusted.
    2. Re:w3c by Frymaster · · Score: 4, Insightful
      what the hell would a book about HTTP teach you, that you cant already get for free at w3c?

      do you work for the riaa or something?

      people buy books (and cd's) even though they can be garnered free over the 'net because:

      1. they are easy to read
      2. they are more portable
      3. they look good on yr shelf
      4. they are immutable. a book doesn't 404 you suddenly

    3. Re:w3c by andy@petdance.com · · Score: 4, Interesting
      So, in summary... if SAMS published it... it probrably sucks ass.

      Then take a look again. Their mod_perl Developer's Cookbook is great (on my list of Ten Great Non-O'Reilly Books), and I really enjoyed The Ruby Way. (Full disclosure: I've done tech editing work for SAMS.)

      No publisher is consistently brilliant, nor consistently awful. It may be an indicator, but ignoring a publisher because of a product line you don't like is self-defeating.

  3. Not surprising the author didn't know his niche... by Ratface · · Score: 4, Insightful

    If you think about it there are very few people who actually *need* to get down and dirty with the HTTP protocol itself. OK - most of those who do are probably reading this and I'll be shouted down, but in reality there aren't that many people who'll be jumping up and down saying "Wow! All I ever wanted to know about HTTP!!".

    --

    A little planning goes a long way...
  4. HTTP knowledge required? by nepheles · · Score: 4, Insightful
    I'm not convinced that web-developers need a knowledge of HTTP. Even sessions can be handled very transparently with newer web-dev languages/dialects like PHP and JSP. Sure, it is a benefit to have an understanding, but the average developer is better off putting his work into understanding Dreamweaver or Photoshop.

    Web-development does not require a knowledge of HTTP, and this is the way it should be. You shouldn't need to understand ASCII, etc., to use a word-processor.

    --
    ((lambda x ((x))) (lambda x ((x))))
    1. Re:HTTP knowledge required? by Hayzeus · · Score: 4, Funny

      Ha! The average web developer is would be even better off with a basic grasp of graphic design principles.

    2. Re:HTTP knowledge required? by Anonymous Coward · · Score: 4, Informative

      There it is, one of the huge misconceptions. Web developers write code (most of them anyway, some of us do both)... it's the web designers who would be better off with a basic grasp of graphic design. That's like telling an electrical engineer that he should take some sculpting classes.

    3. Re:HTTP knowledge required? by JimDabell · · Score: 4, Insightful

      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. Common mistakes include:

      • Thinking web statistics are reliable.
      • Wasting bandwidth by massive amounts
      • Slowing down sites by not being able to take advantage of HTTP pipelining, more efficient caching, etc.
      • Thinking the Referer and User-Agent headers are reliable.
      • Trusting request variables.
      • Serving different content to different clients without providing a Vary header (in other words, letting caches screw things up).

      It's not a trivial topic that can be glossed over. You could literally waste gigabytes of bandwidth a month on a high profile site (or single slashdotting) if you don't pay attention to the interaction between server and client. While it's certainly possible to build a site without knowing the first thing about HTTP, it shouldn't be encouraged.

    4. 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.
    5. Re:HTTP knowledge required? by B3ryllium · · Score: 4, Informative

      Uhm ... you're forgetting something, I think.

      HTTP has nothing to do with HTML, really. Dreamweaver obscures HTML; it has absolutely nothing to do with HTTP.

      HTTP is the protocol by which files are transfered over the world wide web, it can be anything from images to music to HTML files.

      Knowing in-depth the protocol information, as this book seems to try to teach, one can use languages such as PHP to specify additional headers for various effects. Have you ever seen pages that seem to be dynamic (php or cgi), and yet they send an image file? What about the ones that are used for cgi-based site counter images? Or, for that matter, link-tracking of file downloads (I think PHPNuke does this) - All of these types of scripts require at least a rudimentary knowledge of HTTP protocol headers.

  5. 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
  6. 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
  7. it was worth the $ by websensei · · Score: 4, Informative

    this was a great book as an overview, and as a quick reference for details on http headers.

    it's eminently readable, and while I agree w the reviewer that it's light on examples, the writing is clear enough that in most cases, examples would be redundant.

    very little filler and very readable, easy to read in 1 or 2 sittings and come away with a much better handle on the underpinnings and details of the request/response model. the web is not as well understood by page authors / web developers as it should be, and this is an excellent book to help remedy the situation.

    I give it a solid 7/10 and am glad I read it.
    it's within easy reach on my shelf....

    --

    La via sola al paradiso incommincia nel inferno
  8. 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.
  9. 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

  10. Re:$12 CHEAPER and FREE SHIPPING! by Ark42 · · Score: 4, Informative

    Same link minus the ccats-20 crap. Why bother to even post anonymously?
    http://www.amazon.com/exec/obidos/ASIN/0672324547/

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

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

  12. 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

  13. 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 .

  14. Support the Author by shiflett · · Score: 4, Informative

    You can use this one to support the author (me):

    http://www.amazon.com/exec/obidos/ASIN/0672324547/ ref%3Dnosim/chrisshiflett-20

    Or, here is the plain link (it's not cheaper; you just give Amazon more money):

    http://www.amazon.com/exec/obidos/ASIN/0672324547/