HTTP Developer's Handbook
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.
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.
Consensus is good, but informed dictatorship is better
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...
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))))
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?
stuff |
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
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.
I believe in de-evolution. God made the world perfect, man fell, and its been going downhill ever since!
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
Far too many web developers forget what the FIRST T stands for....
www.eFax.com are spammers
...in source code development.
understanding HTTP is crucial for web development
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.
.. tags are miserably neglected (in favour of, say, FONT). Flash, on the other hand, is used where it shouldn't be.
1. most people use it to "design pages", not represent data. H1, H2
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
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
You just discovered the difference between making pages like the pros, and being a pro.
. . .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
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.
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.
This is not the original interpretation, however, and in both HTTP 1.0 - RFC 1945 and HTTP /1.1 - RFC 2068 the term "transfer" is used in the original sense of transferring data.
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.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.