Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming Books Media Software The Internet Book Reviews IT Technology

HTTP Developer's Handbook 206

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.

This discussion has been archived. No new comments can be posted.

HTTP Developer's Handbook

Comments Filter:
  • w3c (Score:5, Insightful)

    by stonebeat.org ( 562495 ) on Wednesday September 17, 2003 @01:35PM (#6987139) Homepage
    why would i wanna "buy" a book, that has info that is already available on http://www.w3c.org [w3c.org]?
    You can also join the W3c mailing lists to get in-depth info on any of the technology stacks.
  • by Ratface ( 21117 ) on Wednesday September 17, 2003 @01:35PM (#6987144) Homepage Journal
    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!!".

  • by nepheles ( 642829 ) on Wednesday September 17, 2003 @01:35PM (#6987151) Homepage
    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.

  • It seems that more and more books that are coming out are geared for the novice... or perhaps, we're all just getting that much better? It's important to ask yourself how good you really are. I have found that there are practically no good resources for programming information above a certain level, i'd say Junior Programmer, other than the Knuth books or perhaps a few others. Anyone else know of any advanced topic books that are really good?
  • by goldspider ( 445116 ) on Wednesday September 17, 2003 @01:38PM (#6987173) Homepage
    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"??

  • Good Review (Score:4, Insightful)

    by Khomar ( 529552 ) on Wednesday September 17, 2003 @01:40PM (#6987185) Journal

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

    This may have been the first sign of trouble. I always hate it when salespeople or authors waste my time telling me what I already have grasped and understood. After a while, I start to question whether I really should be interested it in anymore if they are so concerned that I won't be.

    I think I will try to check this out at the library for a quick refresher course, but it doesn't sound like one to add to my own library. It is good to see an honest review that doesn't immediately gush with adoration and praise while glossing over the flaws. While another poster questioned the frequency of reviews from honestpuck, the quality of this review leads me to ask him to keep up the good work.

  • by joshv ( 13017 ) on Wednesday September 17, 2003 @01:43PM (#6987207)
    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
  • by GigsVT ( 208848 ) on Wednesday September 17, 2003 @01:46PM (#6987233) Journal
    Web-development does not require a knowledge of HTTP

    Ever sent a file to a browser that is dynamically generated, and isn't an inline image or a html/txt page?

    Or maybe you wanted to handle file uploads, while the languages have built in functions for handling them, those functions are usually pretty bad at handling anything special, or providing feedback to the user on the progress of the upload.

    It helps to know HTTP. It's not one of those things you need to know, but without knowing it, you won't be able to do anything that the language developers didn't have planned for you.
  • by JimDabell ( 42870 ) on Wednesday September 17, 2003 @01:47PM (#6987238) Homepage

    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.

  • by wowbagger ( 69688 ) on Wednesday September 17, 2003 @01:52PM (#6987276) Homepage Journal
    Far too many web developers forget what the FIRST T stands for....
  • by websensei ( 84861 ) on Wednesday September 17, 2003 @01:53PM (#6987285) Journal
    I couldn't disagree more.
    How about a fundamental understanding of cookies?
    From the text:

    Although cookies are most often described in conversation as if they are entities (for example, "a Web server sends you a cookie"), they are much easier to understand at a functional level if you consider them an extension of the HTTP protocol, which is actually more correct."

    (Shiflett goes on to describe the Set-Cookie and Cookie headers.)

    Relying on a given scripting language's manipulation of HTTP requests/responses without understanding what's actually going over the wire is a mistake.

    By the same reasoning, it's also a mistake for a web developer to use WYSIWYG HTML editor like Dreamweaver, without understanding the markup that's being generated...

    For your average web developer, reading this book (which should take just a couple sittings over one weekend) would be a worthwhile investment.

    /$0.02

  • by Anonymous Coward on Wednesday September 17, 2003 @01:55PM (#6987293)
    ...in source code development.

    understanding HTTP is crucial for web development

  • by igorko ( 701584 ) on Wednesday September 17, 2003 @02:00PM (#6987333)
    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
  • Re:w3c (Score:4, Insightful)

    by bmj ( 230572 ) on Wednesday September 17, 2003 @02:02PM (#6987349) Homepage

    why would i wanna "buy" a book, that has info that is already available on http://www.w3c.org?

    Because (and get ready for this, it's a bit shocking) some people actually prefer reading a book to staring a computer screen (and not everyone has access to a printer to make hardcopies of the w3c specs).

    GASP!

  • Re:w3c (Score:5, Insightful)

    by Frymaster ( 171343 ) on Wednesday September 17, 2003 @02:15PM (#6987461) Homepage Journal
    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

  • by ukpyr ( 53793 ) on Wednesday September 17, 2003 @02:33PM (#6987696)
    It seems to me, most of the confusion comes from people who use the term "web developer" to mean someone who uses HTML to make static web pages.

    Maybe it's regional or something but to me and people I know, "web developers" are programmers who use server-side technologies like mod_[perl/php/whatever], ASP, JSP etc etc etc who would actually care about what is happening in the HTTP request process because they (can) directly influence it.

    I call people who use things like Dreamweaver, Frontpage, or notepad to write HTML docuements "web designers". These same people also use graphic design software to make graphics for websites with photoshop, illustrator, or whatever.

    two very different skillsets, two very different types of training/knowledge

  • The Difference (Score:2, Insightful)

    by phlyingpenguin ( 466669 ) <[phlyingpenguin] ... yingpenguin.net]> on Wednesday September 17, 2003 @02:37PM (#6987742) Homepage
    You just discovered the difference between making pages like the pros, and being a pro.
  • by kfg ( 145172 ) on Wednesday September 17, 2003 @03:06PM (#6987980)
    . . .more 'informative.'

    And so we descend, bit by pleasant little bit, into hell, where "information" isn't "practical," where knowledge of reality isn't "necessary" and where, it turns out, the enviroment is a cube farm populated by clueless code monkeys happy to be there.

    Sorry for wading into this thread after yelling "Flame On!", but reading most of the responses is just plain depressing.

    The older I get the more I understand why Fabian Pascal tends to come across as a bit bitchy. He's earned the right.

    Helloooooo, are there any geeks left in the house?

    My mom has a degree in fine arts. Not a very geeky field, right? She took chemistry for years so she could understand her materials, particularly glazes. Is this necessary to throw a pot? No. Is it necessary to be a good ceramicist? Yes.

    A real artist always knows her materials, right down to the last atom.

    Otherwise you're just a semiskilled mechanic working on an assembly line.

    Of course, it that was your goal when you set out . . .

    KFG

    KFG
  • Re:w3c (Score:3, Insightful)

    by mwood ( 25379 ) on Wednesday September 17, 2003 @03:11PM (#6988043)
    "they are immutable. a book doesn't 404 you suddenly"

    Nor do they mysteriously change, sometimes radically, every time the author has a new idea and hacks his text again.

    And don't forget:

    5. It's easy to lay out a book on my desk, alongside the six other books I'm referring to concurrently, and see them all at the same time. <hubris>If one book can tell you everything you need to know about your project, what you are doing is too small to be called a "project".</hubris>
  • by bigdavex ( 155746 ) on Wednesday September 17, 2003 @04:08PM (#6988606)
    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.
    And how would you approach that?
    • Coding at random until all user agents worked with it.
    • First, reading something about the protocols.
  • by jrumney ( 197329 ) on Wednesday September 17, 2003 @04:42PM (#6988882)
    The people who really need to know already have what they need in the RFCs. But there are a surprising number of web developers who don't know the first thing about the protocol. Like you, they think they don't need to know the details, and end up making big mistakes as a result. A book like this deserves a place on every web developer's bookshelf.
  • by xeo_at_thermopylae ( 585330 ) on Wednesday September 17, 2003 @05:08PM (#6989100)
    HyperTextTransferProtocol

    While not the original interpretation, I prefer to think of the WWW as a giant state engine with all possible pages (including possible dynamically-generated content) as already created and available. Then as you navigate from one page to another, i.e., are transferred from page to page, you are changing from one state to another.

    This way of envisioning the WWW is called Representational State Transfer(REST) and is documented by Roy Fielding, one of the WWW's architects, in his doctoral dissertation [uci.edu].

    This is not the original interpretation, however, and in both HTTP 1.0 - RFC 1945 [w3.org] and HTTP /1.1 - RFC 2068 [w3.org] the term "transfer" is used in the original sense of transferring data.

  • by MikeFM ( 12491 ) on Wednesday September 17, 2003 @05:26PM (#6989235) Homepage Journal
    Worse, most web developers arn't geeky enough to know what an RFC is or how to look one up. A lot of them don't know anything about http at all other than it's the four letters at the start of most URLs. That's fine. The great thing about the web is that it's easy enough that you can be a developer without knowing how things work. You'll be a better developer though if you do know how it works. Knowing http is especially useful if you do any actual programming. If you want to know how to do some of the fancier tricks of web development you'll need to learn at least the basics of http.
  • by MikeFM ( 12491 ) on Wednesday September 17, 2003 @05:32PM (#6989274) Homepage Journal
    The average web developer would be better off with a basic grasp of bandwidth issues. Maybe then we wouldn't have to wait 30 seconds or more to access such a large majority of pages.

    I'd especially like to whack developers who put large Java or Flash intro pages.. especially those with no way to skip them. Okay like it's cool that you can write your company name in a fancy font and make it zoom around but really who gives a damn? If you want to make movies then make movies. If you want to make a website then make a damn website. Websites don't need neato special effects. :)

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...