Slashdot Mirror


HTTP: The Definitive Guide

Michael Palmer writes "OK, how well you know HTTP? Here's a pop quiz: QUESTION: Did you know that the Keep-Alive header was valid in HTTP 1.0, but has been deprecated in HTTP 1.1? A) What does "deprecated" mean? B) What is the "Keep-Alive header?" C) That's too bad - I kind of thought Keep-Alive was handy! D) Get with the program... HTTP 1.1 came out in 1999. The Internet boom is over already! Persistent connections are the default in HTTP 1.1 anyway." Answer (not necessarily your answer) and the rest of Palmer's review follows. HTTP: The Definitive Guide author David Gourley, Brian Totty pages 656 pages publisher O'Reilly & Associates; 1st edition (September 2002) rating excellent overview, plus detail in core areas reviewer Michael Palmer ISBN 1565925092 summary An overview of HTTP and related topics

OK, so I answered "C". I am going to make bold the claim that HTTP: The Definitive Guide, the long-awaited O'Reilly book on HTTP is ambitious enough in breadth and depth that if you answered "B," "C," or "D," you will find this book useful and informative. This is primarily due to clear organization of the book, as well as its friendly (even chummy) writing style.

Even if you are a technically-inclined sort from the Marketing department, and answered "A," you could get a good technical overview of the plumbing of the Web by skimming through this book; plus, having any O'Reilly book on the shelf in your cubicle would score you some street cred with the guys sitting over in Development -- this could be the one you've actually read. :-)

Breadth Unless you answered "D," HTTP is more complicated than you think. This is especially true if, as the authors of a good technical book should do (and these authors do), one spends some time touching on matters one level down (to TCP/IP, and other areas, in this case), and one level up (to HTML, generally, in this case). Because the authors are particularly concerned with HTTP performance, details of the interactions between HTTP and adjacent levels can be important.

The book is divided into five main sections: 1) an overview of HTTP, URLs, and connection management; 2) HTTP Architecture, including Web servers, proxies, caches, gateways, tunnels, robots; 3) Identification, Authorization, and Security; 4) Entities, Encodings, and Internationalization; 5) Content Publishing and Distribution, including hosting, publishing, load balancing, logging. So, even if you classify yourself as a "D," or even if you are hacking on an extensible open-source router software platform (in that case, you are an "F"), you will find yourself pulling this book from the shelf from time to time to check on something in one of these areas. The modular organization of the book is good.

The full Table of Contents is available on line.

Depth One (unfortunate?) thing about the Web is that its "architecture" (if you can even call it that) evolved and grew piece by piece. The design goals people had in mind back in 1993, or even in 1999, have been blown away by what has happened on the ground. Inter-company politics have also been a big factor -- never helpful for promoting standardization, or sound design. (Perhaps another problem has been the lack of an O'Reilly book on HTTP to tie everything together!) Hence, not only do you have a confusing mass of obsolete and/or overlapping specifications documents, you also have major differences between how different browsers, servers, and proxies adhere to these specifications in practice. This is one place the book shines: sprinkled throughout the pages are little tidbits about compatibility or performance pitfalls, gleaned from much practical experience. (The authors were some of the architects of Inktomi's Traffic Server "enterprise class" Web cache. Think "proxy caching for all of AOL's Web traffic.") As one example: "Technically, any Connection header fields (including Connection: Keep-Alive) received from an HTTP/1.0 device should be ignored, because they may have been forwarded mistakenly by an older proxy server. In practice, some clients and servers bend this rule, although they run the risk of hanging on older proxies." I can just imagine the series of bug reports leading to the inclusion of that piece of advice in the book. There are many other such warnings and bits of advice, generally aimed at HTTP application developers, often with an eye to performance tuning.

Here again, appropriate depth of discussion for a variety of readers is handled by clear organization of the book. The basic background material is laid out, and as the authors dive deeper into detail they may make a suggestion like, "If you are [not] writing high-performance HTTP software... feel free to skip ahead." Then, at the end of every chapter, there is a section labelled, "For More Information," which is a collection of relevant references and links, for those who want to dig into the source documents themselves.

Cautions This book review is addressed to the Slashdot crowd, a very technically savvy audience, so it's appropriate to mention what this book is not. It's not a detailed technical reference on all the topics mentioned in the table of contents (above); it would be tough to fit all that material into the book's 650-plus pages. However, the book is a good overview of HTTP and many related topics. The book does dip down into the grungy detail in many areas, but this won't be your only reference if you are a Web application developer.

Conclusion Overall, this is one of the more accessible O'Reilly books I own. In addition, while experts will certainly seek out greater depth in their particular area of expertise, few people are expert in the whole range of topics related to HTTP that this book covers. In addition, the book provides many tips drawn from practical experience, and references to more detailed material. HTTP, if not the heart and soul of the Web (perhaps that is Web content itself), could perhaps be called the Web's circulatory system. If you have a professional interest in Web content distribution, or Web application development, I believe this book deserves a spot on your shelf.

You can purchase HTTP: The Definitive Guidefrom bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

283 comments

  1. Wow, long article by TopShelf · · Score: 4, Funny

    I think I'll download it to my PDA and go deprecate for a while...

    --
    Stop by my site where I write about ERP systems & more
    1. Re:Wow, long article by RzUpAnmsCwrds · · Score: 1

      You mean that you don't have a PDA/Phone with 3rd generation high-speed CDMA technology?

      Shame on you.

    2. Re:Wow, long article by Anonymous Coward · · Score: 0

      HTTP 1.1 came out in 1999. The Internet boom is over already!

      I have a question for you. Why do Americans frequently use the word "already" in places where it clearly makes no grammatical sense?

    3. Re:Wow, long article by Anonymous Coward · · Score: 0

      Because:

      I have a question for you. Why do /Americans/ frequently use the word "already" in places where it clearly /make/s /no/ grammatical /sense/?

  2. Invalid Question by Anonymous Coward · · Score: 5, Funny

    True or false questions should not be followed by a list of four choices, none of which are "true" or "false."

    1. Re:Invalid Question by asr_man · · Score: 1

      OK, try these. True of false:

      An HTTP 1.1 request with entity headers MUST convey an entity body.

      An HTTP 1.1 response with entity headers MUST convey an entity body.

    2. Re:Invalid Question by Anonymous Coward · · Score: 0
      True or false questions should not be followed by a list of four choices, none of which are "true" or "false."

      OK, so is your answer to the following question "true" or "false?"

      QUESTION: Did you know that the Keep-Alive header was valid in HTTP 1.0, but has been deprecated in HTTP 1.1?
    3. Re:Invalid Question by ePhil_One · · Score: 4, Funny
      True or false questions should not be followed by a list of four choices, none of which are "true" or "false."

      True or False questions are always be Pre-pended with (T or F). Trust me, I tried putting True down for an essay question once and it didn't work.

      --
      You are in a maze of twisted little posts, all alike.
    4. Re:Invalid Question by Anonymous Coward · · Score: 0

      (T or F) Your mom is even uglier than your sister.

    5. Re:Invalid Question by Cromac · · Score: 2, Insightful
      The correct statement should be:

      The Keep-Alive header was valid in HTTP 1.0, but has been deprecated in HTTP 1.1. True or False

      By adding "did you know" there isn't a good answer since both True and False are correct depending on who answers the question.

      Tests in school would have been much easier if they all started out with "Did you know...".

  3. Missing poll option by Anonymous Coward · · Score: 5, Funny

    I choose:

    E) CowboyNeal gives good header

    1. Re:Missing poll option by TopShelf · · Score: 1

      I thought his head was found in that producer's bed...

      --
      Stop by my site where I write about ERP systems & more
    2. Re:Missing poll option by winse · · Score: 4, Interesting

      have you even noticed the 'X-Bender: something goes here' field in slashdot http responses? I sometimes make thousands of requests a day just to see how many there are. So maybe CowboyNeal did give good header.

      --
      this sig is deprecated
    3. Re:Missing poll option by obotics · · Score: 1

      uhh.. what?

    4. Re:Missing poll option by mutende · · Score: 2, Interesting
      have you even noticed the 'X-Bender: something goes here' field in slashdot http responses?

      Well, sometimes the X-Bender field is an X-Fry field. Did you notice?

      --
      Unselfish actions pay back better
    5. Re:Missing poll option by otisg · · Score: 1

      That's a real 'Keep-Alive'.

      --
      Simpy
    6. Re:Missing poll option by onomatomania · · Score: 3, Informative

      I don't know what is more pathetic: that you would make requests just to see X-Bender headers, or that I would know where to look in the slashcode CVS to see the list (scroll down to the end of that page.)

    7. Re:Missing poll option by dannyweb · · Score: 1

      I'm sneaking on to /. from a school computer lab, while I'm supposed to be doing research, that comment made me laugh so hard (heh, heh - hard) that the teacher came over and gave me administrative detention for visiting an "inappropriate website". Thanks!
      (Mighty Funny Though)

    8. Re:Missing poll option by TopShelf · · Score: 1

      think The Godfather...

      --
      Stop by my site where I write about ERP systems & more
    9. Re:Missing poll option by Anonymous Coward · · Score: 0

      geez. it wasn't /that/ funny.

      "Jerk is what spills your soft drink."

    10. Re:Missing poll option by belroth · · Score: 1

      Uh, are you sure you don't mean the other end?

      --
      I hereby inform you that I have NOT been required to provide any decryption keys.
  4. Jesus Christ! Get with the program, grandpa! by Anonymous Coward · · Score: 1, Funny
    Nobody uses html anymore, everythings' all Flash these days!

    Damn grognards.

    1. Re:Jesus Christ! Get with the program, grandpa! by Gibble · · Score: 2, Informative

      *psst*

      HTML != HTTP

      --
      Gibble: Descriptive of an emotional state in which one's mind is scrabbling for some purchase on reality
    2. Re:Jesus Christ! Get with the program, grandpa! by Fizzl · · Score: 2, Funny

      So your answer would be:

      e) I thought the HTTP standard would be 4.01 already!

      Which means you should definetely first read "internet protocols for dummies".

      Ok, I'm a bit mean here, but I just couldn't resist.

      *smug smirk*

    3. Re:Jesus Christ! Get with the program, grandpa! by jointm1k · · Score: 2, Funny

      Actually, they would be at XHTTP1.1 by now ;)

      --
      You know it makes sense, a little reminder from jointm1k.
    4. Re:Jesus Christ! Get with the program, grandpa! by Anime_Fan · · Score: 1

      Nah...

      The HTTP Standard is Coded 404...

    5. Re:Jesus Christ! Get with the program, grandpa! by bigman2003 · · Score: 5, Funny

      Geez, I've been running Internet 6.0 for a long time. I don't know anyone still running 1.1. Some of the Netscape people are still running version 4, but I heard they can move up to seven.

      I hope that Microsoft comes out with version 8 of the Internet- but by then AOL will have Internet version 9. This is so hard to keep track!

      Who cares about Internet 1.1 though. Maybe you should get a new computer.

      --
      No reason to lie.
    6. Re:Jesus Christ! Get with the program, grandpa! by AuMatar · · Score: 1

      Can't you just copy internet 6 onto a floppy for me?

      --
      I still have more fans than freaks. WTF is wrong with you people?
    7. Re:Jesus Christ! Get with the program, grandpa! by jg · · Score: 0, Troll

      Browser versions numbers have nothing
      to do with the version number of the HTTP protocol.

      The web today is using HTTP/1.1.

      Please get a clue someplace.
      - Jim

    8. Re:Jesus Christ! Get with the program, grandpa! by Ozymandias_KoK · · Score: 1

      Well...somebody's badly in need of a clue, but it isn't the OP.

  5. Or... by cqpalzm · · Score: 1, Informative

    Or, you could just check out the W3C and read up on it without the need of someone making edits to the explanations of the actual specs.

    1. Re:Or... by Zeinfeld · · Score: 5, Informative
      Or, you could just check out the W3C and read up on it without the need of someone making edits to the explanations of the actual specs.

      Where do you think you can find HTTP on the W3C site?

      HTTP was standardized in IETF process, not W3C. HTML started in IETF process and then we yanked it out and did it in W3C. IETF process is not the place to work on something where there are religious wars, the SGML folk were big on religious wars.

      The RFCs on HTTP are useful if you are writing a server or client, however they are less useful as a guide to how what is out there works. One of the big problems with the IETF is that the RFCs look like shit, they are designed to be printed in a fixed width font because thats the way they did things in Babbage's day. So not surprisingly engineers tend to go for documentation that is easier on the eye, even if it turns out to be wrong.

      The other issue with the specs is that they describe what the WG came up with. That does not necessarily represent reality, the group took seven years to complete. If you want to know what will work you need more information than is in the RFC.

      I wrote parts of the HTTP spec and even I would want more information than just the spec. I am not sure about the 'advice' about working arround older broken proxies, I tend to think its not a bad thing if folk running obsolete software lose every so often. But it is useful to know that it can be an issue.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    2. Re:Or... by weston · · Score: 4, Funny

      Where do you think you can find HTTP on the W3C site?

      And yet, as has been pointed out, you can indeed find it on the w3 site.

      The RFCs on HTTP are useful if you are writing a server or client, however they are less useful as a guide to how what is out there works.

      But, as anyone who's tried CSS or just about anything else knows, this is absolutely true. Differences between vendor implementations are one reason why many geeks are bald, sickly, and pale.

    3. Re:Or... by Anonymous Coward · · Score: 0

      Well.. you're mostly right, except that the HTTP stuff actually _is_ linked to on w3.org! (Which kind of makes you look stupid saying "Where do you think you can find HTTP on the W3C site?")

      http://www.w3.org/Protocols/

    4. Re:Or... by Anonymous Coward · · Score: 0

      Guess what? I wrote part of the HTML 4.0 spec so you can thank me for deprecating the <BLINK> tag. I think you can guess who I am.

    5. Re:Or... by Kredal · · Score: 2, Funny

      Aww, I miss blink. I used to have a version of my webpage wherein every other word blinked. It was actually quite pretty, in a geeky epileptic sort of way.

      --
      Whoever stated that signature sizes should be limited to one hundred and twenty characters can just go ahead and kiss my
    6. Re:Or... by radja · · Score: 1

      blink works on mozilla and firebird(dont ask why I know this..)

      --

      No one can understand the truth until he drinks of coffee's frothy goodness.
      --Sheikh Abd-Al-Kadir, 1587
    7. Re:Or... by Yunzil · · Score: 3, Funny

      One of the big problems with the IETF is that the RFCs look like shit, they are designed to be printed in a fixed width font because thats the way they did things in Babbage's day. So not surprisingly engineers tend to go for documentation that is easier on the eye, even if it turns out to be wrong.

      I don't know about that. I'm an engineer, and I'd rather have something printed in fixed-width font, on green-and-white fanfold paper. Less BS, more facts. :)

    8. Re:Or... by Zeinfeld · · Score: 1
      And yet, as has been pointed out, you can indeed find it on the w3 site.

      That is not actually RFC 2616, the standard for HTTP. It is RFC 2616 that has been converted into HTML. According to the IETF rules the authoritative version is the unreadable plaintext version.

      Anyone care to guess why Tim might have the RFC up in HTML?

      For bonus credit, anyone care to guess which version the members of the working group actually reviewed?

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    9. Re:Or... by mmol_6453 · · Score: 3, Funny

      The blink tag works great for papers on quantum physics.

      (Credit to UserFriendly goes here)

      --
      What's this Submit thingy do?
    10. Re:Or... by Zeinfeld · · Score: 1
      I wrote part of the HTML 4.0 spec so you can thank me for deprecating the tag. I think you can guess who I am.

      Well you don't sound like Dave Ragget.

      I don't think that we can give you the credit for deprecating BLINK. That situation was over-determined.

      I can't find any statement about Blink in HTML 4.01. That does not suprise me since it was never in the spec in the first place. It was originally put in as a easter egg by Lou and Eric.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    11. Re:Or... by shiflett · · Score: 3, Informative

      Your entire post could not be more untrue.

      HTTP was created long before it was handed off to be maintained by the IETF. It existed prior to the RFC that you claim to have co-wrote. The only reason that exchange was made is because HTTP is viewed as a piece of the Internet's infrastructure; in fact it is essentially where the Internet and the Web intersect.

      Also, HTTP is very useful as "a guide to how what is out there works." Check out a mailing list for mod_perl, PHP, etc. You will find countless questions being asked that would be answered by a simple understanding of HTTP - how the Web works. This is what real Web developers need; then maybe I can check my bank account balance or sell some stocks without having to interact with a poorly-constructed Web site.

      As the author of the HTTP Developer's Handbook, you might think that I would point out weaknesses in O'Reilly's effort. On the contrary, I think this work is very good, and I would highly recommend it to anyone involved in Web development. I think my book is more suited for the everyday reference that you carry with you that explains things specifically from a Web developer's perspective rather than focusing on clarifying the standards, and I think the two go well together.

      At any rate, I think this is a quality book on a very important topic.

    12. Re:Or... by kill-1 · · Score: 2, Interesting
    13. Re:Or... by nutbar · · Score: 1
      on green-and-white fanfold paper

      I thought I TOLD you to stop using the printer paper to blow your nose!

    14. Re:Or... by Zeinfeld · · Score: 2, Insightful
      HTTP was created long before it was handed off to be maintained by the IETF. It existed prior to the RFC that you claim to have co-wrote. The only reason that exchange was made is because HTTP is viewed as a piece of the Internet's infrastructure; in fact it is essentially where the Internet and the Web intersect.

      Well yes, before there was HTTP 1.1 there was HTTP 1.0. There was also an HTTP 0.9 that was arround before that...

      HTTP was NOT handed off to the IETF by the W3C as your post appears to imply, there was no W3C at that time. HTTP was taken to the IETF to get recognition as a protocol standard. There was no 'handing off', the same people continued to work on the protocol as before. The only significant change was that the mailing list changed, www-talk had become very noisy by this time. The IETF has change control in a nominal sense, they can write new versions of the spec and call them HTTP, but so can anyone else, they just might have more difficulty getting others to recognise them...

      That is the reason there are two sets of acknowledgements in the spec. The first set is the original authors, the second the set of people who worked on the draft after the IETF process started.

      I don't seem to remember your name from any of the Web working groups I have been associated with. It is unlikely that if you know as much as you claim to about the Web that you don't know mine. I don't think that publishing a book about my work gives you the right to accuse me or for that matter anyone else of being a liar.

      Perhaps if you actually read what I wrote rather than what you think I wrote you might not have made such a fool of yourself.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    15. Re:Or... by Anonymous Coward · · Score: 0

      Yes. Unfortunately, the spec alone does not cover how to break down connections in a safe manner, include example code or discuss why parallel connections are fast/not fast. The book does.

    16. Re:Or... by jg · · Score: 1

      Plain text is easy to search.

      And the HTTP/1.1 spec is available in
      Postscript, with TOC and index.
      - Jim

    17. Re:Or... by shiflett · · Score: 1

      HTTP was NOT handed off to the IETF by the W3C as your post appears to imply, there was no W3C at that time. HTTP was taken to the IETF to get recognition as a protocol standard. There was no 'handing off', the same people continued to work on the protocol as before.

      Notice that I did not mention the W3C. Also, it was in fact handed off, at least by my definition. Yes, it may have been as simple as a change of mailing list, but you even explain why such subtleties (such as the involvement of the IETF) can be important. Of course, demand drove a lot of what was implemented over the years, which has created some unfortunate violations (tangents might be a more polite term) of the specification, but that is why books such as this are so important (a point we can both agree on).

      I was not involved in the working group, and while I appreciate the efforts of all who do contribute in those discussions, I do wish you would not try to make that fact justify everything you say. Your original post appeared to ridicule someone who simply recommended "reading up" on HTTP at the W3C's Web site. As many others have pointed out, this recommendation was perfectly valid. In addition, you seemed to undermine the importance of the very RFCs you claim to have contributed to, and I think knowledge of HTTP is already greatly underestimated by the majority of Web developers.

      As a last bit of advice, you might want to avoid trying to claim ownership of something simply because you contributed (e.g., "my work"). Even if your contributions are substantial, such self-gratification actually lessens the respect you will receive for your efforts. Also, there is a difference between pointing out an error and suggesting someone is lying.

      I hope this tangential discussion does not take the focus away from the real topic - that a great book (or even two or three) exists on an important topic.

    18. Re:Or... by Anonymous Coward · · Score: 0

      As seen in this thread, amongst others, Philip Hallam-Baker (whom your message is in reply to) is rarely afraid to speak his mind, regardless of how much of a blustering fool it makes him appear. I wouldn't let it trouble you overly.

    19. Re:Or... by Zeinfeld · · Score: 1
      I was not involved in the working group, and while I appreciate the efforts of all who do contribute in those discussions, I do wish you would not try to make that fact justify everything you say.

      Actually I was pointing out that you should not call people liars when they have direct knowledge of an issue and you do not. You raised your book as your credentials.

      Your original post appeared to ridicule someone who simply recommended "reading up" on HTTP at the W3C's Web site.

      If you read the post more carefully you would have seen that I was actually addressing the same point you were trying to raise. There is a value to secondary sources as documentation of the applications that are out there.

      In addition, you seemed to undermine the importance of the very RFCs you claim to have contributed to

      The RFCs are merely a means to an end, the definitive specification of the Web is the code of the applications that are in use. The RFCs only obtain importance by being read and understood. Hence my point about the format mattering. There is little that can be done about the prose style that is necessary in a specification, the typography is quite a different matter. There is no excuse for bad typography.

      I merely found it amusing that Tim has apparently become as fed up with the RFC format as I have. In the past he would have insisted on there being a hypertext link rather than copy the entire document.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    20. Re:Or... by TrollingKarmaWhore · · Score: 1
      As seen in this thread, amongst others, Philip Hallam-Baker (whom your message is in reply to) is rarely afraid to speak his mind,


      Actually I am Phillip Hallam-Baker.


      And in reference to the thread you cite, the issue was a series of allegations being thrown at Noam Chomsky, claiming that because he defended the right of the Holocaust revisionists to speak he was sympathetic to their aims.


      Today we have John Ashcroft and John Poindexter attempting to obtain the powers of a police state. Each time someone points out that they are trampling on the liberties they claim to protect they drape themselves in the flag. It is the same tactic.


      So yes, ten years ago I thought it important to expose the tactics being used against Noam, not because I agree with him but because I believe in the general principle of freedom of speech.


      The fact that the US government has sunk to the level of a ten year old Usenet flame war is somewhat disappointing, but here we are. The fact that the GOP pay people to read slashdot and smear anyone who writes articles critical of Bush is another indication.


      At this point it is generally agreed by all sides that Noam was right on East Timor, the invading Indonesian army had committed attrocities. The comparison of the US media treatment of Cambodia and East Timor was significant and justified. That does not mean that Noam is right on everything of course, but ten years later the point on which I was defending him has been proved beyond doubt.

      --
      Bet you wish you thought of this nym first
    21. Re:Or... by dublin · · Score: 1

      According to the IETF rules the authoritative version is the unreadable plaintext version.

      And just what is "unreadable" about plain text files? Come on, you're being a style elitist. The content of an RFC is text, and there is absolutely no reason to format the text to death with various proprietary and incompatible formatting methods.

      Plain text may not be as pretty, but it's eminently readable, and can be used absolutely everywhere. It's also trivially easy to turn in to the proprietary dog's breakfast of your choosing. Unlike even HTML, it will be just as readable and usable in another 20 years as it is today. The IETF correctly recognizes that hte value is in the *content* not the *formatting* of such docuemnts. Long live plain text!

      --
      "The future's good and the present is nothing to sneeze at." - Roblimo's last ./ post
    22. Re:Or... by Zeinfeld · · Score: 1
      Plain text may not be as pretty, but it's eminently readable, and can be used absolutely everywhere. It's also trivially easy to turn in to the proprietary dog's breakfast of your choosing. Unlike even HTML, it will be just as readable and usable in another 20 years as it is today.

      Well lets consider for a moment the probability there might be a problem of reading HTML in 20, 100 and 1000 years.

      Twenty years is a no-brainer, there are plenty of books on FORTRAN and COBOL in the bookstores, they are still being bought and still being written. Is there a large probability that HTML will not be supported in at least the same degree in 20 years time? I very much doubt it.

      A hundred years is slightly harder to justify since we don't have electronic computer systems that old. We have tabulators that old however and the dimpled chads being counted in Florida were based on exactly that technology. If people are interested in the RFCs they will make sure they can be read.

      A thousand years is much harder. It is impossible to say with certainty that the bomb throwers won't win in the meantime and destroy civilization. Let us imagine for a moment they suceed, the biggest difficulty in recovering RFC information is likely to be the storage medium.

      Let us imagine we can read the bits but have forgotten HTML. How long is it likely to take someone to work out the text? Since we used edit the documents by hand I doubt it would take very much. Perhaps a couple of days to work out what the ASCII codes were and another couple of days to put together an HTML code dictionary.

      Of course if you have the RFCs to work on you could even find the HTML 2.0 RFC which describes the format.

      I do agree with your statement that plaintext will be just as readable in 20 years though. I expect HTML, even HTML4.01 vintage to be MORE readable in twenty years. HTML abstracts the content from the formatting, so it is not limited by the technology of its day.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
  6. well by Joe+the+Lesser · · Score: 5, Funny

    A) What does "deprecated" mean?

    deprecated: adj. In a state of having soiled oneself. Johnny was not efficient enough and failed to reach the restroom, and was thus deprecated.

    --
    "I only speak the truth"
    Karma: null(Mostly affected by an unassigned variable)
    1. Re:well by fryguy451 · · Score: 3, Informative

      The first and fully accepted meaning of deprecate is "to express disapproval of." But the word has steadily encroached on the meaning of depreciate. It is now used, almost to the exclusion of depreciate, in the sense "to belittle or mildly disparage,".

      http://dictionary.reference.com/search?q=depreca te d

    2. Re:well by AKnightCowboy · · Score: 1
      The first and fully accepted meaning of deprecate is "to express disapproval of." But the word has steadily encroached on the meaning of depreciate. It is now used, almost to the exclusion of depreciate, in the sense "to belittle or mildly disparage,".


      I blame the rise in popularity on the fact that "ps -aux" started popping up a message about the "-" being deprecated years ago.

    3. Re:well by Wakkow · · Score: 2, Funny

      Hopefully the next version will fix this bug..

    4. Re:well by mechaZardoz · · Score: 1
      Yes, I've unfortunately borne witness to this phenomenon. I find it particularly disheartening because of the fact that the correct application of the word, whether 'depreceate' or 'depreciate,' should align itself with the primary meaning of 'depreciate,' which is to 'lessen the value of.' In the context of technology, this makes far more sense than 'to belitte or mildly disparage.'

      I suspect, though I have no concrete proof, that this is a result of a common linguistic shift in English, whereby our inclination towards 'concisness' (read: laziness) tends to contract words or blend meanings of similar ones in favor of the shorter (eg, 'disorient' vs 'disorientate'). I suspect further that this was acclerated by the culture and mindset of technology users and advocates, where the need/desire for brevity and the rapid dissemination of information spread this change in convention.

    5. Re:well by Anonymous Coward · · Score: 2, Funny

      If you wrote in a less impenetrable style, people might be able to tell if you made sense or not.

    6. Re:well by jeremyp · · Score: 1

      So when the authors of HTTP 1.1 said "keepalive is deprecated" do you think they meant "we disaprove of its use" or "we think it's a crap idea" (i.e. we belittle it). I think the former, so in this type of context "deprecate" is being used correctly.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    7. Re:well by jeremyp · · Score: 1

      What dictionary did you get that one from?

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    8. Re:well by Joe+the+Lesser · · Score: 1

      What dictionary did you get that one from?

      I just pulled it out of my ass.

      *rimshot*

      (All puns intended)

      --
      "I only speak the truth"
      Karma: null(Mostly affected by an unassigned variable)
    9. Re:well by Anonymous Coward · · Score: 0

      same thing happened with the word "preventitive". back when i was a kid, that's how you spelled and pronounced it. nowadays, thanks to ISO, it's "preventive".

    10. Re:well by Anonymous Coward · · Score: 0

      Aren't you confusing with defecated here?

    11. Re:well by dublin · · Score: 1

      "Deprecate" is often misused, especially by computerish folks, who seem to have given it a meaning similar to "in the process of being obsoleted, so we don't recommend using it anymore".

      Plain old "obsoleted" would work, except for those people that insist on always drawing the distinction between something that's already obsolete, and something that's just on death row, but hasn't actually been shot yet. As a practical matter, there's very little difference, although it does correctly connote that twilight zone between support and non-support as you give a concept time to die a natural death before breaking things that rely on it.

      Mostly, I find the people that use "deprecated" have vocabulary deficit and thus somehow think that throwing this one around will impress people. It doesn't.

      --
      "The future's good and the present is nothing to sneeze at." - Roblimo's last ./ post
  7. Yes/No or Multiple choice? by JUSTONEMORELATTE · · Score: 3, Funny

    QUESTION: Did you know that the Keep-Alive header was valid in HTTP 1.0, but has been deprecated in HTTP 1.1?

    Uhh, my answer is "No"

    --

    1. Re:Yes/No or Multiple choice? by M.C.+Hampster · · Score: 1

      You were modded as funny, but I think your post was more insightful. I read the brief description for this review 4 times before I undesrtood what the guy was talking about. How exactly does one ask a yes/no question and then give a multiple choice answer?

      --
      Forget the whales - save the babies.
    2. Re:Yes/No or Multiple choice? by RetroGeek · · Score: 4, Funny

      How exactly does one ask a yes/no question and then give a multiple choice answer?

      You sir, are NOT a marketing guy....

      --

      - - - - - - - - - - -
      I am a programmer. I am paid to produce syntax not grammar. Deal with it.
    3. Re:Yes/No or Multiple choice? by keli · · Score: 2, Funny

      How exactly does one ask a yes/no question and then give a multiple choice answer?

      Like this:

      Is this a binary question?
      a) Yes
      b) No

      Duhh.... :-

    4. Re:Yes/No or Multiple choice? by wdr1 · · Score: 1

      c) CowboyNeal!

      --
      SlashSig Karma: Excellent (mostly affected by moderatio
    5. Re:Yes/No or Multiple choice? by JUSTONEMORELATTE · · Score: 3, Funny

      d) I use a trinary computer, you insensitive clod!

      --

    6. Re:Yes/No or Multiple choice? by silverbolt · · Score: 1

      The actual word is ternary, you insensitive clod !!

    7. Re:Yes/No or Multiple choice? by TobiasSodergren · · Score: 3, Funny

      Is this an unary question?

      a) what?

    8. Re:Yes/No or Multiple choice? by charlieo88 · · Score: 2, Interesting

      d) I use a trinary computer, you insensitive clod!

      I think you meant a ternary computer.

      I used that on a midrange programmer once. He was pissed. Claimed I made up base three and that there was nothing between binary and octal.

    9. Re:Yes/No or Multiple choice? by Istealmymusic · · Score: 1
      d) I use a trinary computer, you insensitive clod!
      I think you meant a ternary computer
      Trinary, tertiary, ternary are all acceptable.
      --
      "The lesson to be learned is not to take the comments on slashdot too literally." --Vinnie Falco, BearShare
  8. Keep-Alive... by Xerithane · · Score: 5, Informative
    HTTP 1.1 Specification does allow the difference between Keep-Alive and Close. By default it says it's peristent (Keep-Alive) but you can still turn it off (Connection: close\n)

    Mozilla Sends:
    GET / HTTP/1.1
    ...
    Keep-Alive: 300
    Connection: keep-alive
    Which isn't necessarily a bad thing, but they have to be backwards compatible in case they hit a poorly implemented HTTP 1.1 server. Gets annoying to code hybrid httpd systems.

    HTTP isn't that complicated of a specification though, the RFC is easy enough to understand.
    --
    Dacels Jewelers can't be trusted.
    1. Re:Keep-Alive... by Anonymous Coward · · Score: 0
      Though maybe it wouldn't hurt for the web server implementers to buy the book also. Having written a HTTP 1.0 client, I never saw so many non-compliant servers. Though, at least you could work around it. FTP servers were much worse. With them it was damned if you do, damned if you don't. The only way to effectively shutdown an FTP session was to just close the socket.


      I wonder if the book disclosed the trick webmonkeys use to determine whether you've got cookies enabled.

    2. Re:Keep-Alive... by emerrill · · Score: 1

      Unfotunaly though, most all client browsers do not support the 'Connection: close' command. My understanding is that it stems from a 'bug' (or maybe intentional) in the example code from w3c when 1.1 came out. Basicly the browsers dont respect the 'close' command, and do async requests on the socket anyways. It can be very annoying if you are writing a server-esk program, when the sockets wont support async.

    3. Re:Keep-Alive... by Xerithane · · Score: 1

      My understanding is that it stems from a 'bug' (or maybe intentional) in the example code from w3c when 1.1 came out.

      "Connection: close" is part of the RFC...

      Basicly the browsers dont respect the 'close' command, and do async requests on the socket anyways. It can be very annoying if you are writing a server-esk program, when the sockets wont support async.

      Proper server implementation is that if a browser sends "Connection: close" after the request is processed the server will disconnect. If it doesn't disconnect, the server is not compliant.

      --
      Dacels Jewelers can't be trusted.
    4. Re:Keep-Alive... by Anonymous Coward · · Score: 0

      I think what the original poster was referring to was that even if the _server_ said "Connection: close" certain browsers did not respect that.

      (If I'm not terribly mistaken: If the client for example does a HTTP/1.1 request and doesn't say anything regarding Connection or says Connection: keep-alive, the server could still respond with Connection: close in the response, in which case the connection is to be closed after the current request is completed.)

    5. Re:Keep-Alive... by CowboyBob500 · · Score: 1

      Today I've been trying to get the Mac OS9 Symantec 1.1.8 JVM to talk to Sun One Web Server 6. Both seem to have a completely different idea of the spec when it comes to keep alive. Then I saw this story and I wanted to cry. Specs, schmecks. They're only good if programmers IMPLEMENT THE DAMN THINGS!!!

      Guess who's spending tomorrow implementing a cut down version of HTTP over a plain TCP/IP socket?

      Bob

    6. Re:Keep-Alive... by Xerithane · · Score: 1

      Today I've been trying to get the Mac OS9 Symantec 1.1.8 JVM to talk to Sun One Web Server 6. Both seem to have a completely different idea of the spec when it comes to keep alive. Then I saw this story and I wanted to cry. Specs, schmecks. They're only good if programmers IMPLEMENT THE DAMN THINGS!!!


      I think that Sun One Web handles HTTP 1.1, but I'm not sure. HTTP clients are easy to write though, you don't need to handle the full-set, only the features you are actually going to use and then verify the data is going into the headers.

      What's the Symantec Java libs sending as the HTTP header? You may be missing something? I would write a quick program to listen on port 80 and have it connect out and then just dump the header. Since it's on Sun, that's a pretty quick perl/python/ruby program to write :)

      --
      Dacels Jewelers can't be trusted.
  9. RFCs have all the info you need by Anonymous Coward · · Score: 5, Informative

    Honestly, save yourself ~ $50 for an O'Reilly book and go directly to the source of the information:

    HTTP 1.0
    HTTP 1.1

    It's remarkably easy to read for a technical document.

    1. Re:RFCs have all the info you need by bwalling · · Score: 2, Insightful

      Honestly, save yourself ~ $50 for an O'Reilly book and go directly to the source of the information:

      HTTP 1.0
      HTTP 1.1


      Well, the organization of the RFCs isn't exactly what I'm looking for, there is useful commentary in the book, there is an index in the book, and I like having things in print. Sure, it's not too expensive to print the RFC, but if you shop around, the book isn't $50.

    2. Re:RFCs have all the info you need by Anonymous Coward · · Score: 4, Insightful

      No, RFCs don't have all the information you need. Specifications should contain a succint description of the protocol - not advice, best practices, informative examples, and so on. That is what books like this are for.

    3. Re:RFCs have all the info you need by Surak · · Score: 1

      But then VA/Slashdot wouldn't make money like they do through the affiliate program when they link to the books, now would they? ;) (Imagine how much money they would make if just 1/4 of all /. traffic clicked the 'service.bfast.com' affiliate link?)

      Seriously, though RFC's have useful information, but don't offer any real-world wisdom. Books like this are an attempt by the author(s) to impart this on you by offering sage advice.

      Of course, these books don't always give you everything either....they usually tend to lack the true technical depth that someone trying to do something original might need. OTOH, the reviewer seems both pleased that the authors go into some additional depth, but at the same time expresses disappointment (? maybe that's too strong a word) that you don't get all the depth you would get by reading the source documents. But then again, that's what citations are for. ;)

    4. Re:RFCs have all the info you need by Xerithane · · Score: 3, Insightful

      ...not advice, best practices, informative examples, and so on. That is what books like this are for.

      HTTP 1.1 does tell you the best practice. It says, "You SHOULD do XYZ in case ABC." If you need help coding something, you shouldn't be implementing HTTP 1.1. HTTP is not that complex, it doesn't need informative examples. What examples can you possibly need? "When using this header, the values are X, Y, or Z." Well.. it tells you that.

      I wrote a complete HTTP 1.1 implementation according to the RFC without issue. They are remarkably easy to write, and validate HTTP headers. The problem comes in from non-compliant browsers (which are non-compliant to handle non-compliant servers)

      --
      Dacels Jewelers can't be trusted.
    5. Re:RFCs have all the info you need by kazrak · · Score: 2, Insightful
      I've read the RFCs. I have the O'Reilly book as well. There is a lot of information in the O'Reilly book that is not in the RFCs. (Information on robots.txt, for example. A lot more proxy information than the RFCs contain. Some basic information on WebDAV. These are just a few things I found flipping through my copy.)

      Sure, you can find all this stuff online. You buy a book so you have a well-organized place to find it all together, though. This book succeeds marvelously at this task.

    6. Re:RFCs have all the info you need by iabervon · · Score: 2, Insightful

      A compliant browser SHOULD handle non-compliant servers, and a compliant server SHOULD handle non-compliant browsers. An important property of a good specification is that old and broken programs may be handled gracefully without violating the standard.

    7. Re:RFCs have all the info you need by dwsauder · · Score: 1
      No.

      The RFCs aren't going to tell you about robots.txt.

      They won't tell you about many kinds of proxies, their purposes, their locations in the network, and their problems.

      They won't tell you about cache implementations.

      The won't tell you how real-world, current implementations differ from the RFCs.

      They won't tell you how high-traffic web sites are implemented with load balancing, DNS hacks, and so on.

      They won't tell you about the Web Cache Coordination Protocol (WCCP) or the Hyper Text Caching Protocol.

      They won't tell you about Front Page server extensions and the Front Page RPC.

      They won't tell you about commonly used web server log formats.

      I could go on. But I suggest you read the bios of the authors to get some idea of the nature of the content of this book: all of them were employed by Inktomi at one point or anther, including the vice president of R&D at Inktomi, and they include graduates from MIT, UC Berkeley, UIUC, and other universities; some have PhDs. I think they are eminently qualified to write this book. And I think they provide a lot of insight into real-world issues and real-world implementations, not just of HTTP, but of the architecture of the WWW.

    8. Re:RFCs have all the info you need by statusbar · · Score: 1

      Part of the problem with HTTP is the very fact that the RFC uses the word SHOULD. A standards document should never use the word SHOULD. It should always use the word 'MUST'. Optional features in the protocol are the source of many many incompatibilities between webservers and clients.

      --jeff++

      --
      ipv6 is my vpn
    9. Re:RFCs have all the info you need by Xerithane · · Score: 1

      Part of the problem with HTTP is the very fact that the RFC uses the word SHOULD. A standards document should never use the word SHOULD. It should always use the word 'MUST'. Optional features in the protocol are the source of many many incompatibilities between webservers and clients.

      Not particularly... SHOULD is reserved for such things as "This SHOULD Be the default value." If your implementation doesn't give a rats ass about the value, why SHOULD you set the default? You MUST handle the value passed in, but that's about it. SHOULD is a great thing in RFCs, but they should be handled as such. When dealing with best-practices, it just tells you what you should do but not what you must do.

      --
      Dacels Jewelers can't be trusted.
    10. Re:RFCs have all the info you need by mmol_6453 · · Score: 1

      Taking another user's example, look what happens if you don't send the noncompliant information: A bad implementation won't keep the connection alive, which means you'll be stuck reconnecting repeatedly, with all the performance degradation that entails.

      --
      What's this Submit thingy do?
    11. Re:RFCs have all the info you need by Anonymous Coward · · Score: 2, Interesting

      HTTP 1.1 does tell you the best practice. It says, "You SHOULD do XYZ in case ABC."

      That isn't best practice. That is saying "Do this, unless there are exceptional circumstances". That is part of the protocol. Best practice is where there is an appropriate algorithm that most implementations have settled upon. It's a subtle difference, but it's definitely there.

      If you need help coding something, you shouldn't be implementing HTTP 1.1.

      What complete and utter egotistical bollocks. I'm sure I could code up an implementation simply by following the RFC - but there's no way in hell a responsible developer would, given the choice. There's plenty of experience codified in this book - experience that my ego allows me to benefit from, unlike Real Programmers like you, who seem to be too macho to know what is good for them.

      I wrote a complete HTTP 1.1 implementation according to the RFC without issue. They are remarkably easy to write, and validate HTTP headers. The problem comes in...

      So you wrote an implementation "without issue", and then state "The problem comes in..."?

      See what's wrong with this picture? Books like this include information on what brain damages are floating around out there. The RFC doesn't. You may have written a conformant implementation, but what most people are after has to be useful too. Perhaps if your ego allowed it, you would have bought this book and actually been productive.

    12. Re:RFCs have all the info you need by statusbar · · Score: 1
      Here is an example of the overuse of SHOULD:


      10.3.8 307 Temporary Redirect

      The temporary URI SHOULD be given by the Location field in the response.


      Also:


      9.6 PUT ...if an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to indicate successful completion of the request. If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be given that reflects the nature of the problem....


      (there are lots more...)

      It is these kinds of SHOULDS that cause problems in real implementations. They cause too many combinations that are often missed by testing.

      --jeff++
      --
      ipv6 is my vpn
    13. Re:RFCs have all the info you need by Razor+Blades+are+Not · · Score: 1
      You are limiting your interpretation of SHOULD to the probabilistic rather than the obligatory.

      In the English language, "should" can be synonymous with "must". This is the unfortunate problem with specifications - English isn't rigid enough that interpretation cannot introduce errors. What you read as "ought to" I read as "obliged to"

      For clarification, see the following entry : in the dictionary

    14. Re:RFCs have all the info you need by ipfwadm · · Score: 1

      In the English language, "should" can be synonymous with "must". This is the unfortunate problem with specifications - English isn't rigid enough that interpretation cannot introduce errors. What you read as "ought to" I read as "obliged to"

      Many of the DOD specifications I've worked with define up front what they mean by should, must, may, etc. This is about the only good thing about DOD specs...

    15. Re:RFCs have all the info you need by statusbar · · Score: 3, Informative
      This is what matters in the RFC:


      1.2 Requirements

      The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [34].


      RFC 2119 says:


      1. MUST This word, or the terms "REQUIRED" or "SHALL", mean that the definition is an absolute requirement of the specification.

      2. MUST NOT This phrase, or the phrase "SHALL NOT", mean that the
      definition is an absolute prohibition of the specification.

      3. SHOULD This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.


      So in this case should is not synonymous with must.

      --jeff++
      --
      ipv6 is my vpn
    16. Re:RFCs have all the info you need by Anonymous Coward · · Score: 0

      In the English language, "should" can be synonymous with "must".

      No. "Must" is a requirement, "should" is an obligation. Not doing something that you MUST do results in failure. Not doing something that you SHOULD do results in some lesser disadvantage, although failure is possible.

      They may be very similar, but "should" is most definitely softer than "must"

      The definitions in RFC 2119 attempt to clarify exactly this relationship.

    17. Re:RFCs have all the info you need by rabidcow · · Score: 1

      I would, but I don't know how to form an HTTP request to get them ;)

    18. Re:RFCs have all the info you need by onomatomania · · Score: 1

      Apparently in your haste to post your links to the standards you missed the part of the review that explicitly said how valuable the (paraphrasing) "real-world experience says that foo always violates bar and it's best to baz despite the RFC" parts of the book were.

      In other words, no shit. If you can't find the http RFCs, you are probably in over your head. That's not the point of this book.

    19. Re:RFCs have all the info you need by cyberkreiger · · Score: 1
      Section 1.2 of RFC 2616:

      The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in RFC 2119.

      --
      Stumbling in the dark
      I hear slavering of jaws
      Eaten by a grue.
    20. Re:RFCs have all the info you need by jg · · Score: 1

      Thanks.

      We tried hard to make the HTTP/1.1 spec
      reasonable...
      - Jim

    21. Re:RFCs have all the info you need by iabervon · · Score: 1

      Actually, since the client doesn't initially know that the server is a HTTP/1.1 server, the Keep-Alive header is required to handle cases where the server is a compliant HTTP/1.0 server, which has to ignore Connection, and follow Keep-Alive. Of course, if the client has determined the server to be a correct 1.1 server, it can skip both headers (and, in fact, it might be best to first try without them, and, if the server misbehaves or turns out to be a 1.0 server, use the headers in the future, or use 1.0).

    22. Re:RFCs have all the info you need by Razor+Blades+are+Not · · Score: 1


      Recommended is not the same as "optional". So therefore my original intent - to show that there were greater implications to the word "SHOULD" than the parent poster was allowing - still stands.

      So its like this :

      MUST > Should > optional.

      It's not a simple binary between Obligatory and Optional - there is also the middle ground of Recommended.

      This is all I was trying to say. (albeit very poorly)

  10. not likely by DNS-and-BIND · · Score: 1, Funny

    If you deprecate in here, you'll clean it up.

    --
    Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    1. Re:not likely by jaavaaguru · · Score: 1
      Can someone provide a link for this meaning of "deprecate"? I looked at Websters and got this...
      Deprecate \Dep"re*cate\ (d[e^]p"r[-e]*k[=a]t), v. t. [imp. & p. p. Deprecated (-k[=a]`t[e^]d); p. pr. & vb. n.

      Deprecating (-k[=a]`t[i^]ng).] [L. deprecatus, p. p. of deprecari to avert by player, to deprecate; de- + precari to pray. See Pray.]

      To pray against, as an evil; to seek to avert by prayer; to desire the removal of; to seek deliverance from; to express deep regret for; to disapprove of strongly.

      His purpose was deprecated by all round him, and he was with difficulty induced to adandon it. --Sir W. Scott.
    2. Re:not likely by DNS-and-BIND · · Score: 1

      Which "Webster's"? Webster's is not a copyrighted term, so any dictionary maker can use it in their title. Virtually every American dictionary ever made is called Webster's something.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    3. Re:not likely by Anonymous Coward · · Score: 0

      They are mixing it up with "defecate".

    4. Re:not likely by jaavaaguru · · Score: 1

      Ah, thankyou. I thought it could have been some mix-up, but it's rather unlikely for THAT MANY PEOPLE to get confused in the same way :-)

  11. Re:I don't have a web server by garcia · · Score: 0, Funny

    that would be, I don't use HTTP... I use Gopher you insensitive clod!

  12. Differences between HTTP 1.0 and 1.1 by Anonymous Coward · · Score: 0
  13. Wow. by sethadam1 · · Score: 4, Interesting

    It's nice to see a review like this. Many slashdot reviews are short and detail-less, but this one is a good overview, which I like.

    As much as I want to know about the underpinnings of HTTP, I find this one of those "books I'd like to HAVE read." If I buy it, which I may, I'm pretty sure it will be one of those books I just don't get around to reading because I personally don't have a huge need for it. I'd love to know the information, but I don't know I have the time to pull off actually reading it. Is it just me, or does everyone have a few of those books - the ones you wish you had actually read, but instead just look nice as part of your technical book collection?

    I guess there's at least one positive about the Matrix - I can make a quick phone call and have my operator just load "The Complete HTTP" for me.

    1. Re:Wow. by Anonymous Coward · · Score: 0

      What the hell?! you mean you can read?

  14. When is HTTP 2.0 coming out? by Anonymous Coward · · Score: 3, Interesting

    I figure XHTML 2 is going to require a big re-design of everything anyway, why not design an HTTP 2.0 to go with it?

    1. Re:When is HTTP 2.0 coming out? by TeddyR · · Score: 1

      dont you mean http/2.1; everyone knows how unstable x.0 releases are...

      --

      --
      Time is on my side
    2. Re:When is HTTP 2.0 coming out? by leighklotz · · Score: 2, Informative

      An AC Writes:
      > I figure XHTML 2 is going to require a big re-design of everything anyway, ...
      XHTML 2 has been working in many browsers since August, 2002, even though it's still a draft. Part of the point of point of XHTML 2 is to cleanly re-seat HTML on top of the stack of stuff that browsers are supposed to implement already (CSS, XML, linking, etc.).

    3. Re:When is HTTP 2.0 coming out? by cant_get_a_good_nick · · Score: 1

      Actually, probably never. The work now isn't so much with HTTP, but either:
      Protocols that use HTTP as a transport (SOAP and rpc-http)
      Replacement protocols that natively map object semantics better.

      Even with a replacement protocol, HTTP is not likely to go away. It's just that all the new stuff will go in the replacement protocol and unlikely to need a radically new HTTP.

    4. Re:When is HTTP 2.0 coming out? by mmcshane · · Score: 1

      What's next is waka. Really.

    5. Re:When is HTTP 2.0 coming out? by shiflett · · Score: 4, Insightful

      Never.

      To quote the W3C:

      Now that both HTTP extensions and HTTP/1.1 are stable specifications, W3C has closed the HTTP Activity. The Activity has achieved its goals of creating a successful standard that addresses the weaknesses of earlier HTTP versions.

    6. Re:When is HTTP 2.0 coming out? by Anonymous Coward · · Score: 0

      I figure XHTML 2 is going to require a big re-design of everything anyway

      Why? It requires no such thing. There will be no redesign of URIs, CSS, XML, PNG, GIF, JPEG... why do you think that HTTP will have to be redesigned? It copes with all sorts of other formats just fine.

    7. Re:When is HTTP 2.0 coming out? by julesh · · Score: 1

      I figure XHTML 2 is going to require a big re-design of everything anyway, why not design an HTTP 2.0 to go with it?

      Why?

  15. problems with definitive guides by stonebeat.org · · Score: 4, Insightful

    The problem with definitives guides is that, they get outdated very quickly :)

    so i wouldn't spend any money on them. instead i would just browse the W3C website or other reference web sites.

    1. Re:problems with definitive guides by Anonymous Coward · · Score: 2, Interesting

      But HTTP 1.1 has been out a while, and there isn't anything really new on the horizon. This book will probably have a longer life than many.

    2. Re:problems with definitive guides by mmcshane · · Score: 2, Interesting
      But HTTP 1.1 has been out a while, and there isn't anything really new on the horizon. This book will probably have a longer life than many.
      Actually, that's not true. Roy Fielding (co-creator of HTTP 1.1, former Chairman of apache.org) is working on WAKA (PPT, sorry).
    3. Re:problems with definitive guides by Istealmymusic · · Score: 1

      In other news, BXXP and BEEP protocols have replaced HTTP. Search Slashdot for details.

      HTTP isn't going anywhere.

      --
      "The lesson to be learned is not to take the comments on slashdot too literally." --Vinnie Falco, BearShare
  16. zeldman by Meeble · · Score: 5, Informative

    > One (unfortunate?) thing about the Web is that its "architecture" (if you can even call it that) evolved and grew piece by piece. The design goals people had in mind back in 1993, or even in 1999, have been blown away by what has happened on the ground. Inter-company politics have also been a big factor - never helpful for promoting standardization, or sound design. >

    I couldn't agree with this more from a web development area as well, so many designers are still using hack and slash methods from the early 90's it's sad[although not always their fault!]. It correlates to the same principles used to build the architecture itself.

    side note: if you're interested in learning more about forward compatible web design you should check out Jeffrey Zeldman's new book 'Designing With Web Standards' you can find him at www.zeldman.com - I just finished this book and it was well worth the $24.50 - all you nested table designers should pick this one up or those looking to bridge the gap from using tabled design. =)

    --
    Fear Breeds Knowledge
    1. Re:zeldman by Brummund · · Score: 3, Insightful

      I don't know about you. but I'd rather die or work in the advertising business than buy a book about web design by someone who uses light grey on white background on their homepage. Come on, he should know better than "It's hardly readable, but it SURE looks nice."

    2. Re:zeldman by Meeble · · Score: 1

      I have no issues reading it. maybe it's time for that yearly eye exam ? =)

      --
      Fear Breeds Knowledge
    3. Re:zeldman by Anonymous Coward · · Score: 0

      Thanks for the book recommendation. Even though his website isn't the greatest design (I can barely read the text), I see that he doesn't use tables at all. I have been looking for a way to stop using tables upon tables upon tables. I'll definitely pick up a copy of his book.

    4. Re:zeldman by Meeble · · Score: 2, Insightful

      sure maybe at 7000 x 7000 resolution it doesn't take up everything on your screen - however his compatible design works in all browsers and WAP out there currently - including Safari.

      --
      Fear Breeds Knowledge
    5. Re:zeldman by Meeble · · Score: 1

      and there is three themes to the site you can click the buttons to apply a -light grey on white -black on orange -or black on white foreground to background scheme.

      --
      Fear Breeds Knowledge
    6. Re:zeldman by spectral · · Score: 1

      yeah, well good luck with that. There's ways to get around tables. They're 3x as long, and not as nice. I wrote 5 different themes for my website (used to be xhtml generated from xml through xsl, but then my x key broke so I switched it to regular html output. That sentence is a lie. My xsl parser when I was outputting xml (which is what xhtml is) would shorten things like the textarea tag to , which just screws up some browsers.)

      Anyway, 5 different themes, researching table-less design, etc. You know what? I had to put divs all over the place instead of tables. Not all too much cleaner, but I guess better 'logically', but here's the big problem: No resizing.

      Example 1: I want to make a form. Forms look nice if the labels are all lined up and all the form elements are lined up. Let's assume I want a page that can have varying size text (which is what people say should be allowed with css).. Ah fuck, can't use divs here. Oh well. I tried. From what I've found, there's no way to link the size of one div to the size of the others in a way that makes logical sense to the document format and flow. I'll welcome any suggestions proving me wrong.

      Example 2: Multi-column layouts are annoying as hell. Yeah, they're annoying in tables too, but damn. That's why there's entire web pages devoted to getting away from tables with weird, complicated CSS to do half of the same thing. (This isn't as bad with CSS2 support, min and max width/height are nice, but not supported by all browsers I have to use).

      Example 3: Picture page. Captions on the bottom of thumbnails. Again, let's go for optimal use of screen space: float them all, so that they wrap around when there's no horizontal space left. Ah fuck, one of the captions is a line longer than the others! There go all the floats in the next line. Yes, this can't even come close to being done with tables, but it's something that pisses me off anyway. Unless I know exactly which font the user is using, and at exactly which size, I can't make the boxes for each picture to be floated the right height. There's no way for other boxes on the same line to inherit the height of the largest on that line, if they're all floated. This isn't necessarily in the same topic, but wow is it annoying as hell.

      Honestly, I don't know why the hell we're taking so long to get AWAY from HTML. HTML as originally designed was a way to structure content logically. Then along came graphical browsers, and it turned in to a presentation language. Then along came the W3C, who try and force it back to a structural language. But that's not what people want! XSL:FO are too verbose, imho, but are much nicer for what I want to do. (Bleh, just cuz I like examples: Give the damned web browser a clue as to what a slashbox is. Don't give it a hierarchy of divs. Don't give it a table. Give it a fucking . Tell it using some other method HOW to render a slashbox. CSS is nice for saying how certain things are rendered, but only fixed attribtues of those certain things. Give me wide support for CREATING my own things, and saying how THOSE are rendered/produced/built.)

      Some might argue that that's not a good idea, but holy shit I don't care! Limiting me to such small pieces of crap as divs and spans to build a decent webpage is retarded. Especially wen you want to get fancy and have them look nice (corner/edge graphics on your elements. Imagine slashboxes with curved corners. and a shadow. Oh crap, now half the html document is outputing those slashboxes, and our page is full of presentation again, not structure. You can't get away from presentation, so work with the people to minimize the harm.. CSS won't do it! (again: CSS2 isn't that bad. before and after do help somewhat, btu don't solve it completely)

      That's why I use XSL: I dynamically make a page. Tell it what the different parts of the page have to say. the XSL then converts that to HTML, sometimes in a two step process (depends on theme). Step 1: Make everything in

    7. Re:zeldman by Anonymous Coward · · Score: 1, Informative

      There's ways to get around tables. They're 3x as long, and not as nice.

      Rubbish. Maybe if you experiment with a page here and there, yes. But when you deal with lots of content, no. You only have to write the styles once for a whole set of pages.

      Example 1: I want to make a form. Forms look nice if the labels are all lined up and all the form elements are lined up. Let's assume I want a page that can have varying size text (which is what people say should be allowed with css).. Ah fuck, can't use divs here. Oh well. I tried. From what I've found, there's no way to link the size of one div to the size of the others in a way that makes logical sense to the document format and flow. I'll welcome any suggestions proving me wrong.

      1. Forms are tabular data. Use a table.
      2. CSS 2 handles this kind of layout with ease - Internet Explorer fucks it up though. Look into display: table

      Example 2: Multi-column layouts are annoying as hell.

      Subjective. I find them much less annoying than when using tables.

      Example 3: [...] Yes, this can't even come close to being done with tables, but it's something that pisses me off anyway.

      'Nuff said.

      Honestly, I don't know why the hell we're taking so long to get AWAY from HTML. HTML as originally designed was a way to structure content logically. Then along came graphical browsers, and it turned in to a presentation language. Then along came the W3C, who try and force it back to a structural language. But that's not what people want! XSL:FO are too verbose, imho, but are much nicer for what I want to do. (Bleh, just cuz I like examples: Give the damned web browser a clue as to what a slashbox is. Don't give it a hierarchy of divs. Don't give it a table. Give it a fucking . Tell it using some other method HOW to render a slashbox.

      Are you completely insane? That's the whole point of separating content (HTML) from presentation (CSS)! <div class="slashbox"> is all the HTML you should need.

      Some might argue that that's not a good idea, but holy shit I don't care! Limiting me to such small pieces of crap as divs and spans to build a decent webpage is retarded.

      You are right, it is retarded. Luckily, you seem to be completely unfamiliar with HTML, XHTML or any of the future plans for this family of markup languages. You aren't limited to divs and spans.

      Imagine slashboxes with curved corners.

      That would be the border-radius CSS 3 property. Educate yourself, really.

      Tables are limited, but damnit so is CSS, just in different ways. Within 5 years, people are going to be wondering what the hell we were thinking when using CSS. Especially 1, but 2 as well: they leave out such obvious things that are craved by people trying to make presentation.

      Well go and suggest them to the W3C then! It's not like they don't operate public mailing lists for exactly that purpose! It's not like you see them going backwards with CSS 1 -> 2 -> 3! You are pissing and moaning because it's not perfect, yet you acknowledge that CSS is getting better and that the only alternatives are not viable!

    8. Re:zeldman by larryk · · Score: 1

      Well put. Mod parent up!!!

  17. I do know this... by Otter · · Score: 3, Funny

    ===================
    QUESTION: Did you know that the Keep-Alive header was valid in HTTP 1.0, but has been deprecated in HTTP 1.1?
    A) What does "deprecated" mean?<br>
    B) What is the "Keep-Alive header?"
    C) That's too bad - I kind of thought Keep-Alive was handy!
    D) Get with the program... HTTP 1.1 came out in 1999. The Internet boom is over already! Persistent connections are the default in HTTP 1.1 anyway.
    ============

    Well, I'm no HTTP expert but I do know this -- that <br> tag doesn't belong there.

    1. Re:I do know this... by Anonymous Coward · · Score: 1, Informative

      Uhm... that has absolutely nothing to do with HTTP, does it?

    2. Re:I do know this... by Kinlan · · Score: 1

      yeah but he was saying that the
      tag should not be in the message!!

      --
      As cunning as a fox, which has just been appointed professor of cunning at Oxford University. http://www.kinlan.co
    3. Re:I do know this... by Anonymous Coward · · Score: 0

      Another moron confusing HTML with HTTP. . .

    4. Re:I do know this... by Anonymous Coward · · Score: 0

      Another moron confusing humor with confusion...

  18. Re:I don't have a web server by AndroidCat · · Score: 0, Flamebait

    You're trolling, but are you sure? A lot of Code Red box "owners" didn't know that they were running web servers. (And "click on everything" install-types aren't limited to Windows.)

    --
    One line blog. I hear that they're called Twitters now.
  19. I'm in management now... by AKAJack · · Score: 4, Funny

    ...I have someone I can fire if they don't know the answer to this question.

    1. Re:I'm in management now... by sandbagger · · Score: 3, Funny

      You can't fire them if they're in marketing and they insist on saying things like "This HTTP sounds interesting. Can it be put in the web?"

      Oh yeah, the same applies to human resources.

      --
      ---- The above post was generated by the Turing Institute. Maybe.
  20. Re:answer e) by jc42 · · Score: 2, Funny

    everyone with any real cred still uses HTTP 1.0.

    Huh? To get real cred, you do:

    : telnet foo.bar.com 80
    GET /some/file.xml

    And you hit Return twice, of course, but you knew that.

    HTTP 0.9 is the Real Thing.

    Hey, anyone remember HTTP 0.5?

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.
  21. Jesus Christ! Get with the program, Gibble! by Anonymous Coward · · Score: 0
    "*psst*

    HTML != HTTP"

    Nice try killjoy. Just makes it funnier!

  22. But... by Anonymous Coward · · Score: 0


    I don't have a printer to print them on, and I don't have a laptop/pda. I want to read these on the bus or on the shitter or on the couch.

  23. But I thought... by pdpTrojan · · Score: 0, Funny

    HTTP must be at 6.0! Why else would I need Internet Explorer 6?

  24. Re:It even answers by glenstar · · Score: 5, Funny
    Here are some other interesting codes, pulled directly from the RFC:

    402 -- Payment Required
    406 -- Not Acceptable
    300 -- Multiple Choices

  25. "OK, how well you know HTTP?" by Anonymous Coward · · Score: 4, Funny

    Me know HTTP real good!

    1. Re:"OK, how well you know HTTP?" by Anonymous Coward · · Score: 0

      Somebody set up us the bomb !!

  26. Grognards? by Trespass · · Score: 1

    What does wargaming have to do with this?

    1. Re:Grognards? by Anonymous Coward · · Score: 0

      Although that term originated in military history, it is equally applicable in a more general sense to grumpy old men. As in "in my day the internet wasn't all cluttered up with advertizing and flash crap -- we FTP'ed to port 80 in the snow uphill both ways without shoes and we liked it like that!"

  27. *yawn* by scosol · · Score: 0, Troll

    can i get a "who cares?"
    ---

    --
    I browse at +5 Flamebait- moderation for all or moderation for none.
    1. Re:*yawn* by __aaitqo8496 · · Score: 1

      yes you can

      i mean, really, if you are a person that needs to know HTTP, you probably already know it. if you don't need to know it, well, you don't

      i've learned a little through the use of manually sending headers in PHP, but it's more than enough for me :)

    2. Re:*yawn* by Tyler+Durden · · Score: 1

      You can get a "who cares?" and "amen brother!" from me.

      I swear, if I come across another set of standards I have to learn I'm gonna start fucking killing people.

      Ahhhhh... screw it. I think I'll just start killing people anyways.

      *On clock tower*
      "This one is Homer Simpson, and this one is Homer Simpson..." ;-)

      --
      Happy people make bad consumers.
  28. HTTP Security documentation by Anonymous Coward · · Score: 0
  29. /me too by DrSkwid · · Score: 2, Insightful

    until divs will auto resize we'll be stuck with pages like this one (light orange on white for them menus ffs!) that only go 20% to the width of my browser window.

    & his menus don't resize to fit the text if you turn up the size

    still, never mind, im sure he makes $ from his book, but not from me

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    1. Re:/me too by Anonymous Coward · · Score: 0
      He could have used em or similar for sizing the DIV-tags. I got a 1920x1200 res, and even if I set the mininum font size in NS 7 to 22, it still doesn't use more space on the screen.

      I suspect this snippet,

      width: 400px;
      , from his css is the culprit. Oh yes, move away from tables. Say hello pixel-width DIV tags. I don't need a book to teach me that, I could just read one of the gazillion bad, online tutorials.
  30. HTTP is amazingly badly engineered by Fefe · · Score: 3, Interesting

    Standards should be lean and so easy to understand and so trivial to implement that one undergrad student can implement it to full compliance in one afternoon.

    HTTP 1.1 has over 100 pages, most of them absolutely useless for implementors. Unnecessary verbiage, unnecessary optional parts, unnecessary warts, unnecessary "I'm working on a thesis about foo, let's put it in this standard and see what happens" crap.

    Examples: chunked encoding -- absolutely superfluous! Amazingly useless. Or what about the range support? HTTP allows to request a byte range from a file. Normally you would use that to fetch the second half of an aborted download, or maybe for PDF reading you would fetch bytes 10 to 100 or so. HTTP 1.1 allows to specify several ranges in the same request, and the server is expected to construct some MIME abomination as answer, if it supports this at all. If it doesn't, it is allowed to coalesce the ranges and just send the whole range. This makes this feature horrendously useless for clients (why bother with it if you a) have to implement some sort of complicated parser to understand the result and b) won't even save bandwidth because the server isn't going to implement it in the first place and c) it is not even cheaper than just using keepalive connections and asking for the parts one by one.

    In short: HTTP needs to die quickly and be replaced by something sane.

    Did I mention the monstrosity that is content negotiation? It is impossible to write a proxy that can cache content in the face of content negotiation. Luckly, nobody uses it on their servers, because it is a pig to implement and configure on the server. Clients tend to support it, but who cares.

    1. Re:HTTP is amazingly badly engineered by cdipierr · · Score: 5, Informative

      Um...chunked encoding is not useless.

      If you've got dynamic output, and don't want to buffer then entire content so you can generate a Content-Length header, then chunked encoding is for you. There's no reason for a server to be buffering up a potentially huge reply if the client can accept it piece-meal instead.

    2. Re:HTTP is amazingly badly engineered by Anonymous Coward · · Score: 1, Informative

      Examples: chunked encoding -- absolutely superfluous! Amazingly useless.

      Nope - it allows for pipelining dynamic content without buffering it all beforehand.

      Did I mention the monstrosity that is content negotiation? It is impossible to write a proxy that can cache content in the face of content negotiation.

      Nope. It's called the Vary header, look it up.

      Luckly, nobody uses it on their servers, because it is a pig to implement and configure on the server.

      Nope, it's just a case of dropping a couple of files into the same directory with similar names, and switching on MultiViews in Apache. On the fly switching between GIF and PNG, for example:

      logo.png 15034 bytes
      logo.gif 18455 bytes

      <img src="logo" alt="[MyCo]" />
    3. Re:HTTP is amazingly badly engineered by mmcshane · · Score: 5, Informative

      Troll city. I'll bite.

      Chunked encoding is usefull to me everyday. I use a protocol one level up from HTTP1.1 (AS2) where messages and their digests are transferred in the same request - in chunks.

      As for supporting ranges, this is why agents are encouraged to delegate difficult MIME handling to helper apps like a Flash plugin. Plenty of servers implement this, it's actually not even that hard. There is a separate issue related to what a range response actually represents (in the theoretical sense), but I won't touch that for now. Read www-tag @W3C for more info.

      Content negotiation works nicely. We serve French pages to agents that prefer French. We also serve unstyled xml to agents which we're sure are not browsers. It's not hard to do, we look at a header and then decide which representation to serve. Caches use the Vary header to choose which responses to serve from cache. It's not rocket science.

      My favorite part: "HTTP needs to die quickly and be replaced by something sane"

      Yeah, it'll never catch on.

    4. Re:HTTP is amazingly badly engineered by Fefe · · Score: 2, Insightful

      First of all, it's perfectly OK to serve the dynamic content without a content-length header.

      Second of all, the whole point of the content-length header is so that the client knows how much data will come and is thus able to allocate memory, see whether it will be able to process the whole content and display a progress bar. All of these are not possible with chunked encoding, so you get none of the benefits from content-length. Why not drop it in the first place?

      Not having a content-length header has only one drawback: it breaks keep-alive connections. But since sane sites are compressing their dynamic content anyway to save bandwidth cost and make it appear quicker on the client machine, and dynamic HTML pages of 100k typically compress down to below 10k because HTML is so bloated, there really is no point in not buffering those 10k. The system has larger buffers than that for TCP anyway, so memory consumption is not a valid excuse. Also, if you do the buffering, you can add the content-length header and get all the benefits.

      Oh, and one last point: we have had security problems caused by chunked encoding. We also have had a trillion security problems by idiots and static buffering, but so far nobody has been stupid enough to do compression and HTTP output buffering using a static buffer.

    5. Re:HTTP is amazingly badly engineered by Anonymous Coward · · Score: 0

      > Examples: chunked encoding -- absolutely
      > superfluous!

      You're on crack! One use of HTTP tunneling is sending large amounts of info...in CHUNKS...over one persistent HTTP 1.1 connection.

    6. Re:HTTP is amazingly badly engineered by julesh · · Score: 1

      First of all, it's perfectly OK to serve the dynamic content without a content-length header.

      No it isn't. If a keep-alive connection is being used there has to be some way for the client to know when the server has finished sending data so that it can send the next request. Keep-alive is important because it substantially reduces the amount of traffic used in serving multiple small requests.

      Second of all, the whole point of the content-length header is so that the client knows how much data will come and is thus able to allocate memory, see whether it will be able to process the whole content and display a progress bar. All of these are not possible with chunked encoding, so you get none of the benefits from content-length. Why not drop it in the first place?

      See my answer to the previous question

      Not having a content-length header has only one drawback: it breaks keep-alive connections.

      OK, so you answered your own question. So why did you ask it?

      But since sane sites are compressing their dynamic content anyway to save bandwidth cost and make it appear quicker on the client machine, and dynamic HTML pages of 100k typically compress down to below 10k because HTML is so bloated, there really is no point in not buffering those 10k.

      1. Not all clients support dynamically compressed content.
      2. Many servers do not provide dynamically compressed content because it is heavy on CPU load.
      3. I have frequently served pages which are much larger than 100K.
      4. The issue isn't memory allocation, its speed of response. Dynamic pages can take a long time to generate. With chunked encoding you can send the start of the page before the end of it has been generated.

      [memory considerations snipped] Also, if you do the buffering, you can add the content-length header and get all the benefits.

      Except for the speed of transfer. Basically, chunked encoding is faster than buffering and sending content length. Would you rather wait around for several seconds before your pages start loading so that you can get a nice progress bar for the shorter period of time while they actually are downloading?

    7. Re:HTTP is amazingly badly engineered by Fefe · · Score: 2, Interesting

      Keep-alive is important because it substantially reduces the amount of traffic used in service multiple small requests

      No. The traffic difference between using keep-alive and not are two TCP packets, 60 bytes each (unless you use a modem line with header compression, in which case it is even less).

      Keep-alive reduces the latency, though. The difference is big in benchmarks but small in practice. Without keep-alive I can still make over 2000 connections a second on my old notebook.

      Not all clients support dynamically compressed content.

      Oh, really? Which client are you talking about? wget? Mozilla, old Netscape, Opera and Internet Exploder support compressed content. That is about 99% of the market. Whom are you kidding here?

      Many servers do not provide dynamically compressed content because it is heavy on CPU load.

      No shit, Sherlock! So? They are generating dynamic content, which is inherently heavy on the CPU. Are you telling us that they didn't buy a large machine with powerful CPUs in the first place? Sorry but I call bullshit.

      The issue isn't memory allocation, its speed of response. Dynamic pages can take a long time to generate.

      If the user has to wait a long time for your content, the latency win of having content-length is neglegible in the first place. You just shot down your only argument.

  31. I wish people would quit doing this! by pair-a-noyd · · Score: 1

    putting : and | in title tags, or even in the html filename,
    like --> www.numbnutz.org/I_am|an:ass hat.htm
    Not to mention other illegal characters.
    Spaces in the filename suck too..
    It plays havoc when you save pages to disk.

    The internet is FULL of geniuses

    1. Re:I wish people would quit doing this! by reelbk · · Score: 0

      genii, genius.

      --
      - A real programmer uses $ cat > a.out
    2. Re:I wish people would quit doing this! by martyn+s · · Score: 1

      Actually, no.

      I don't mind people who use the words "genii" or "boxen" to be colorful or interesting, but don't correct people who use perfectly acceptable usage like "geniuses".

    3. Re:I wish people would quit doing this! by Anonymous Coward · · Score: 0

      Not to mention other illegal characters. The only illegal characters in POSIX are '\0' (NIL) and '/' (forward slash) ... here's 2 kid go buy a real OS.

    4. Re:I wish people would quit doing this! by reelbk · · Score: 0

      Did it ever occur to you that I'm trying to be colourful AND (OR) interesting? Huh? HUH? You sir, are no genii.

      --
      - A real programmer uses $ cat > a.out
  32. deprecated by ap0stle · · Score: 3, Informative
    From w3.org :

    deprecated

    Deprecated

    A deprecated element or attribute is one that has been outdated by newer
    constructs. Deprecated elements are defined in the reference manual in
    appropriate locations, but are clearly marked as deprecated. Deprecated
    elements may become obsolete in future versions of HTML.

    User agents should continue to support deprecated
    elements for reasons of backward compatibility.


    Definitions of elements and attributes clearly indicate which are
    deprecated.


    This specification includes examples that illustrate how to avoid using
    deprecated elements. In most cases these depend on user agent support for style
    sheets. In general, authors should use style sheets to achieve stylistic and
    formatting effects rather than HTML presentational attributes. HTML
    presentational attributes have been deprecated when style sheet alternatives
    exist.


  33. I expect future editions... by Faust7 · · Score: 1

    ...to show the history of when HTTP became MSIEHTTP.

    1. Re:I expect future editions... by Anonymous Coward · · Score: 0

      Simple, that happened when IE 1.0 came out.
      and MSIEHTTP never stopped changing since.

  34. Two minutes to midnight. by HarveyBirdman · · Score: 4, Funny
    A) What does "deprecated" mean?

    "Soon to be a Microsoft standard."

    --
    --- Ban humanity.
  35. Re:It even answers by _Bunny · · Score: 3, Informative

    Error 300 isn't as unusual as you might think.

    Apache's mod_speling module will correct small typeos in URLs that are requested, and if it finds more than one possible match it returns an error 300 with the possible choices.

    For example:

    http://www.madriver.k12.oh.us/network/netware/wefs 1

    - Bunny

  36. As O'Reilly goes... by cruppel · · Score: 1

    I've kept "Web Design in a Nutshell" within arm's reach for about three years now, and while the only reason I need it nowadays is when the bud kicks in, it was an enourmous help when I was trying to learn HTML and related technologies. YES, I know the submitter said HTTP, I'm talking about a different O'Reilly book.

    Even if it doesn't seem like the smartest thing to do (I just posted yesterday about how I'd never buy a programming book), O'Reilly makes some damn good books.

    1. Re:As O'Reilly goes... by nhilez · · Score: 1

      Maybe you should keep your handy-dandy dictionary within arm's reach, since it's *enormous*, not *enourmous* ...
      Or, send me some of that bud that just kicked in. :)

  37. Re:answer e) by geekoid · · Score: 1

    "Hey, anyone remember HTTP 0.5?" ... grabs ear, gnashes teeth, "AAAhhhhhhh" flees from room...

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  38. Other useful error codes by Mr_Silver · · Score: 2, Funny
    I find the error codes generated by here rather enlightening.

    (reload a couple of times)

    Yes, I did have something to do with it. Sorry.

    --
    Avantslash - View Slashdot cleanly on your mobile phone.
    1. Re:Other useful error codes by julesh · · Score: 1

      reload a couple of times

      I got 013 Unexpected Error on all of them. Is it broken?

  39. Re:I am a geek by Anonymous Coward · · Score: 0

    It's because you are one, you worthless fuck.

  40. Why link to bn.com? by RonBurk · · Score: 1, Informative

    I thought it was common knowledge by now that you always check (at least) buy.com for the cheapest price before pointing people to bn.com or amazon.com.

    bn.com price: $44.95
    buy.com price: 28.31

    I have no affiliation with buy.com, except I've saved a lot of money with them.

  41. The only book you need... by spazoid12 · · Score: 2, Informative

    For the full-featured HTTP server that I designed and implemented at my last job...I found just one book to be all the help a person needs:

    "HTTP Pocket Reference", O'Reilly, maybe 4 bucks at Bookpool.

    75 pages, of which about 65 aren't necessary.

    656 pages on HTTP??? It's not a detailed technical reference on all the topics mentioned in the table of contents (above); it would be tough to fit all that material into the book's 650-plus pages. ... good grief!!

    1. Re:The only book you need... by Anonymous Coward · · Score: 1, Interesting
      I'm familiar with the book and the RFCs and am certain that, while it is not possible to write a "full-featured HTTP server" using only the book as a spec, one could write a well-functioning web server that provided a subset of the functions of a "full-featured HTTP server", certainly more than enough to support most WWW applications. That's one of the nice advantages of the HTTP specs.

      IOW the book is a good pocket reference but no substitute for the RFCs.

    2. Re:The only book you need... by spazoid12 · · Score: 1

      Did I say full-featured? I mean full-figured.

      Well, it's true, Mr. A. Coward is correct...

      I did not implement even half as many bugs as IIS, making that one more full-featured.

      I guess some people like to read. I prefer to just get in there and do sumsing.

      (I did exaggerate. The RFCs are very handy.)

    3. Re:The only book you need... by Anonymous Coward · · Score: 0

      And I thought you were just happy to see me ;-(

  42. Re:answer e) by phasm42 · · Score: 1

    A bit OT, but related to HTTP. I noticed that I can sorta get around the URL filtering firewall where I work if all I wanted is the HTML. When you type a request in telnet, the characters (at least the first one) are sent one at a time. This means that each character of the request is sent as a separate packet. The firewall here doesn't (or isn't configured to) assemble the packets and determine the full URL -- none of the packets will appear to contain a blocked URL, so the request goes through. Of course, I could also TS or SSH to another machine outside the firewall, but that's like cheating.

    --
    "No one likes working in a hamster wheel, and your shop smells of cedar shavings from here." - TaleSpinner
  43. If it's broken, fix it! by Hatta · · Score: 1

    The solution is to fix the server, not break the client. If everyone wrote strictly standards complient, a broken implementation would easily be recognized as such, no one would use it, and it would be quickly fixed or die.

    By being permissive about nonstandards compliance (or is that standards noncompliance?) you are encouraging sloppy coding. To use a pop-psychology metaphor on your example, Mozilla is the "enabling" girlfriend who is too insecure to leave her abusive/addicted/noncomplient boyfriend.

    --
    Give me Classic Slashdot or give me death!
    1. Re:If it's broken, fix it! by Anonymous Coward · · Score: 1, Insightful

      By being permissive about nonstandards compliance (or is that standards noncompliance?) you are encouraging sloppy coding.

      Postel's Prescription: "Be liberal in what you accept, and conservative in what you send."

      In other words, try and understand the junk that you see, but only give out tidy stuff.

    2. Re:If it's broken, fix it! by mmol_6453 · · Score: 1

      In order to ensure proper coding standards, you'd have to have a defined minimum level that applications had to reach before they could be used, as en example, on the Internet.

      Who's going to define that minimum level? An elected body? Government appointees?

      Currently, that minimum level is defined by practicality. People only use broken software if it is practical for them to do so. You'd have to take after Microsoft if you want to force other people to adhere to your personal standards.

      --
      What's this Submit thingy do?
    3. Re:If it's broken, fix it! by iabervon · · Score: 1
      It's not my server to fix, so I can't fix the server. Furthermore, the server maintainer doesn't have any incentive to fix it due to my browser not being able to use it.

      In any case, in several cases a strictly complient client is required to deal with server bugs by the specification. E.g.:


      3.4.1 Missing Charset

      Some HTTP/1.0 software has interpreted a Content-Type header without charset parameter incorrectly to mean "recipient should guess." Senders wishing to defeat this behavior MAY include a charset parameter even when the charset is ISO-8859-1 and SHOULD do so when it is known that it will not confuse the recipient.


      The XML specification has a section on how to get HTML clients to parse XHTML correctly, and there is intentional support in the standard for letting this work (allowing a space before the slash in an empty tag, in particular).
  44. Intresting observation by huhmz · · Score: 1

    Most webservers, at least Apache and IIS answer queries terminated with two line feeds (\n\n). However the RFC says it should be carrige return, line feed twice (\r\n\r\n). I noticed slashdot don't answer if you don't send it the proper RFC way. Some other sites I tested that run slashcode answered with \n\n. Anyone know how they did this?

    1. Re:Intresting observation by RonBurk · · Score: 1

      Are there actually HTTP clients out there using LFLF instead of CRLFCRLF? Or is this just a convenience to people testing by hand-typing queries via telnet?

    2. Re:Intresting observation by huhmz · · Score: 1

      Well actually when you handest with telnet it will be CRCR since you hit return

    3. Re:Intresting observation by RonBurk · · Score: 1

      No, actually that depends entirely on what version of telnet you are using and how it is configured. My W2K telnet, for example, transmits a CRLF when I press the Enter key (and also if I press Ctrl-M, making it impossible to transmit a CRCR sequence).

      To reframe my question: why do you care whether LFLF is accepted instead of CRLFCRLF? Do you know of some client that transmits the non-standard sequence? I'm in the middle of coding an HTTP server, which is why the existence of such a client would interest me...

  45. Re:I don't have a web server by Anonymous Coward · · Score: 0

    A lot of Code Red box "owners" didn't know that they were running web servers. (And "click on everything" install-types aren't limited to Windows.)

    But code red is.

  46. How well you know HTTP? by sharkey · · Score: 2, Funny

    I'm an IIS coder, you insensitive clod!

    --

    --
    "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
    1. Re:How well you know HTTP? by autocracy · · Score: 1

      Translation: you NEED this book! (No cheating and writing your own version either(again!)!)

      --
      SIG: HUP
  47. Re:I am a geek by NeoGeo64 · · Score: 1

    +1 troll

  48. Lean vs Trivial by SnakeStu · · Score: 3, Insightful

    Standards should be lean and so easy to understand and so trivial to implement that one undergrad student can implement it to full compliance in one afternoon.

    I suppose that appeals to undergrads, and those who like extremely granular standards that only address small parts of a solution. Beyond that, it's an absurd overstatement. Standards should be lean in the sense that they should be focused, but to be trivial enough for full implementation by an undergrad in one afternoon ducks below the bar of general usefulness. It's somewhat analogous to what I've heard more than one teacher respond when asked by a student "how long" a paper should be: It should be like a skirt -- long enough to cover the important parts, short enough to keep it interesting. You're right that it should be lean (short enough to keep it interesting) but your criterion for that might not cover the important parts.

    1. Re:Lean vs Trivial by Anonymous Coward · · Score: 0
      I really like that quote about the skirt.

      scribbles it down to feed to the undergrads tonight

  49. what deprecated really means by marhar · · Score: 4, Funny

    A) What does "deprecated" mean?

    "No matter how much we pretend otherwise, this will stay around forever."

  50. Thou shalt not SHOULD? by fm6 · · Score: 2, Insightful
    A standards document should never use the word SHOULD.
    Don't you mean, "A standards document must never use the word SHOULD? ;)

    Strictly speaking, RFCs are not standards -- only government-sanctioned bodies can issue standards. Of course, that's a distinction only of interest to compulsive nit-pickers (aka Tech Writers).

    In practical terms, I think a good RFC plays the role both of a standards document (MUST) and a best practices document (SHOULD). Given the ad hoc nature of the Internet, it makes a lot of sense to combine the two. It's the sort of informal process and documentation that has allowed the net to grow so quickly.

    And (the bring us back to the real topic) that's a good reason to not waste money on a book if there's a good RFC at hand.

    1. Re:Thou shalt not SHOULD? by julesh · · Score: 1

      Strictly speaking, RFCs are not standards -- only government-sanctioned bodies can issue standards.

      I agree with the former; I disagree with the latter. Have you never heard of industry standards? As I understand it, many organisations (such as IEEE and the ITU) are not sanctioned by government (at least not in all countries) but do issue standards which are generally accepted and followed.

      The IETF is such an organisation. It issues standards. However, RFCs aren't standards. RFCs become standards at a later pointer in their cycle. See: http://rfc.net/std-index.html

      NB: HTTP is not a standard.

  51. "Should" is OK in standards by ron_ivi · · Score: 1
    statusbar wrote "Part of the problem with HTTP is the very fact that the RFC uses the word SHOULD. A standards document should never use the word SHOULD. It should always use the word 'MUST'."


    Not true. Should is OK in specs.
    From Fowler's "The King's English" on the subject of "Shall and Will"

    "Roughly speaking, should follows the same rules as shall, and would as will;
    ...
    Shall had the meaning of command or obligation, and will of wish.
    "


    In much the same way, isn't it written "shalt not steal" instead of "mustn't steal".


    [credit where credit's due... a few days ago Andrew Sullivan pointed this out on the postgresql list where talking about the SQL spec]

    1. Re:"Should" is OK in standards by statusbar · · Score: 1

      Yes SHOULD is ok in specs, I just feel that SHOULD (see rfc2119) is used far too often in the HTTP/1.1 spec.

      --jeff++

      --
      ipv6 is my vpn
  52. Re:I say, xerithane@nerdfarm.org by robi2106 · · Score: 0, Offtopic

    Someone must be trying to get a spam crawler to pick up these addresses.

    not fun at all

    robi

  53. Not in this case by shiflett · · Score: 0, Redundant

    To quote the W3C:

    Now that both HTTP extensions and HTTP/1.1 are stable specifications, W3C has closed the HTTP Activity. The Activity has achieved its goals of creating a successful standard that addresses the weaknesses of earlier HTTP versions.

  54. Try Mozilla by Phantasmo · · Score: 1

    If you were using Mozilla you could have picked from one of three stylesheets that he provides. Try orange - it looks really nice.

    --

    The US Army: promoting democracy through unquestioned obedience
  55. My guide to HTTP by Anonymous Coward · · Score: 1, Funny

    Save your money, here's my guides to HTTP.
    Client sends:

    GET (uri)

    Server sends:

    (the web page)

    This concludes the guide.

  56. Learning HTTP by slagdogg · · Score: 2, Interesting

    The spec and books are both good sources of information on HTTP, but I find it difficult to actually apply the knowledge.

    I recently interviewed for a position requiring intimate HTTP knowledge. Rather than try and understand every bit of the spec, I just captured all of my clear text HTTP traffic for a night of surfing, I then looked at the actual HTTP exchanges between my web browser and various servers and looked things up in the spec and other sources that I didn't understand.

    I also learned some things that weren't in the spec, which were helpful in the interview like how session keys are structured on various servers, etc.

    --
    (Score:-1, Wrong)
  57. OW! OW! OW! by pedro · · Score: 1

    Oh, baybee, I am SO with you on this one!
    The lack of contrast literally makes my eyes water!
    Wut wuz he theeenking?

    --
    Brak: What's THAT?
    Thundercleese: A light switch.. of TOTAL DEVASTATION!
  58. Most overlooked HTTP feature by KjetilK · · Score: 2, Insightful
    OK, so what are people's favorite overlooked HTTP feature?

    Mine are definately content negotation, specifically language negotation, since I develop multilingual websites (yeah, English is not my first language).

    I find that extremely useful, yet, nobody cares about it... It is really annoying when you get to a website and you have to choose the language, "Hey, I told you that in my accept-language header, just listen!"

    Things are moving sooooo slowly...

    --
    Employee of Inrupt, Project Release Manager and Community Manager for Solid
    1. Re:Most overlooked HTTP feature by Shefwed82 · · Score: 1

      Um...chunked encoding. If you've got dynamic output, and don't want to buffer then entire content so you can generate a Content-Length header, then chunked encoding is for you. There's no reason for a server to be buffering up a potentially huge reply if the client can accept it piece-meal instead.

      I can't take credit for this. Some guy earlier said it, but it really needs to be repeated. The importance of chunked encoding cannot be overestimated.

    2. Re:Most overlooked HTTP feature by julesh · · Score: 1

      chunked encoding.

      Great. Really useful feature. I wouldn't call it overlooked though, seeing as almost all modern web servers will automatically use it when sending output from a scripted page.

  59. Re:just read the rfcs by BigBadBri · · Score: 1
    I was going to post a comment along the same lines (without the gratuitous homophobia), but I looked at the TOC for the book, and saw that the book is far more than a translation of RFCs into English.

    I may even buy this book, since it appears to offer some insight into how HTTP is applied in the real world, rather than how it ought to be applied.

    --
    oh brave new world, that has such people in it!
  60. Useful book by Anonymous Coward · · Score: 2, Informative

    I used this book in addition to the RFC when writing my webserver software.

    It's a good addition to the RFC's but not a substitute. The introductory stuff is a bit too basic but the rest of the chapters clarify several things about the RFC's. 2616 can be a bit ambiguous at times.

    All in all, it was worth the money if you are planning to do any serious work with HTTP.

    1. Re:Useful book by Anonymous Coward · · Score: 0

      Um, yeah. I'm sure you are a wonderful person and an upstanding citizen. But isn't buying webserver software from an outfit called Conman just asking to be backdoored? Both literally and figuratively?

    2. Re:Useful book by Anonymous Coward · · Score: 0

      Uhhh... The domain is a friends (who's name happens to be Conner and his nickname is Conman).

      And the source is there. It is secure enough that I run it on my webserver (the demo) and have no fears of anybody breaking in ... ever... If you can do it through port 8080 on that box, I'd be impressed (any other way is cheating since I don't admin the box 100% and don't get to say "Turn off service X")

      It's worth a peak. Honest!

  61. Re:horse cock by Anonymous Coward · · Score: 0

    [Here's the text of the article in case it gets /.ed.]

    OK, so I answered "C". I am going to make bold the claim that HTTP: The Definitive Guide, the long-awaited O'Reilly book on HTTP is ambitious enough in breadth and depth that if you answered "B", "C", or "D", you will find this book useful and informative. This is primarily due to clear organization of the book, as well as its friendly (even chummy) writing style.

    Even if you are a technically-inclined sort from the Marketing department, and answered "A", you could get a good technical overview of the plumbing of the Web by skimming through this book; plus, having any O'Reilly book on the shelf in your cubicle would score you some street cred with the guys sitting over in Development - this could be the one you've actually read. :-)

    Breadth
    Unless you answered "D", HTTP is more complicated than you think. This is especially true if, as the authors of a good technical book should do (and these authors do), one spends some time touching on matters one level down (to TCP/IP, and other areas, in this case), and one level up (to HTML, generally, in this case). Because the authors are particularly concerned with HTTP performance, details of the interactions between HTTP and adjacent levels can be important.

    The book is divided into five main sections: 1) an overview of HTTP, URLs, and connection management; 2) HTTP Architecture, including Web servers, proxies, caches, gateways, tunnels, robots; 3) Identification, Authorization, and Security; 4) Entities, Encodings, and Internationalization; 5) Content Publishing and Distribution, including hosting, publishing, load balancing, logging. So, even if you classify yourself as a "D", or even if you are hacking on an extensible open-source router software platform (in that case, you are an "F"), you will find yourself pulling this book from the shelf from time to time to check on something in one of these areas. The modular organization of the book is good.

    The full Table of Contents is available on line.

    Depth
    One (unfortunate?) thing about the Web is that its "architecture" (if you can even call it that) evolved and grew piece by piece. The design goals people had in mind back in 1993, or even in 1999, have been blown away by what has happened on the ground. Inter-company politics have also been a big factor - never helpful for promoting standardization, or sound design. (Perhaps another problem has been the lack of an O'Reilly book on HTTP to tie everything together!) Hence, not only do you have a confusing mass of obsolete and/or overlapping specifications documents, you also have major differences between how different browsers, servers, and proxies adhere to these specifications in practice. This is one place the book shines: sprinkled throughout the pages are little tidbits about compatibility or performance pitfalls, gleaned from much practical experience. (The authors were some of the architects of Inktomi's Traffic Server "enterprise class" Web cache. Think "proxy caching for all of AOL's Web traffic.") As one example: "Technically, any Connection header fields (including Connection: Keep-Alive) received from an HTTP/1.0 device should be ignored, because they may have been forwarded mistakenly by an older proxy server. In practice, some clients and servers bend this rule, although they run the risk of hanging on older proxies." I can just imagine the series of bug reports leading to the inclusion of that piece of advice in the book. There are many other such warnings and bits of advice, generally aimed at HTTP application developers, often with an eye to performance tuning.

    Here again, appropriate depth of discussion for a variety of readers is handled by clear organization of the book. The basic background material is laid out, and as the authors dive deeper into detail they may make a suggestion like, "If you are [not] writing high-performance HTTP software... feel free to skip ahead." Then, at the end of every chapter, t

  62. Re:just read the rfcs by Anonymous Coward · · Score: 0

    the RFCs are a definition of a standard, any application that deviates from their specification is inherently not worth paying any mind

  63. Why do they always forget to mention by Axe · · Score: 0, Offtopic


    People here who made the web happen? They are the reason standards started and evolved in a way they did - WWW was "a collabaration tool for high-energy physics" after all. BTW - we should invite them to do an interview here on Slashdot.

    --
    <^>_<(ô ô)>_<^>
  64. Interesting link by Axe · · Score: 1

    Informative presentation..

    --
    <^>_<(ô ô)>_<^>
  65. Don't give away the ending! by Anonymous Coward · · Score: 0

    I hate it when people post spoilers before I've read the book!

    1. Re:Don't give away the ending! by Graspee_Leemoor · · Score: 2

      " I hate it when people post spoilers before I've read the book!"

      Suck on this!

      The animal on the cover of HTTP: The Definitive Guide is a thirteen-lined ground squirrel (Spermophilus tridecemlineatus), common to central North America. True to its name, the thirteen-lined ground squirrel has thirteen stripes with rows of light spots that run the length of its back. Its color pattern blends into its surroundings, protecting it from predators. Thirteen-lined ground squirrels are members of the squirrel family, which includes chipmunks, ground squirrels, tree squirrels, prairie dogs, and woodchucks. They are similar in size to the eastern chipmunk but smaller than the common gray squirrel, averaging about 11 inches in length (including a 5-6 inch tail).

      Thirteen-lined ground squirrels go into hibernation in October and emerge in late March or early April. Each female usually produces one litter of 7-10 young each May. The young leave the burrows at four to five weeks of age and are fully grown at six weeks. Ground squirrels prefer open areas with short grass and well-drained sandy or loamy soils for burrows, and they avoid wooded areas-mowed lawns, golf courses, and parks are common habitats.

      Ground squirrels can cause problems when they create burrows, dig up newly planted seeds, and damage vegetable gardens. However, they are important prey to several predators, including badgers, coyotes, hawks, weasels, and various snakes, and they benefit humans directly by feeding on many harmful weeds, weed seeds, and insects.

      graspee

  66. Thanks! by A+nonymous+Coward · · Score: 1

    Not just for showing me the code ... but also for showing me that pathetic isn't always something to be deprecated.

  67. Stupid AC by fm6 · · Score: 1

    You're not allowed to write informative posts! If you're going to spoil our flamebaiting and trolling, you can at least accept responsibility for your actions!

  68. Bonehead by codepunk · · Score: 1

    Mod this idiot down, he could not do half the stuff he does today on the internet if it was not for chunked encoding...

    --


    Got Code?
  69. *cough* by ubernostrum · · Score: 1
    Anyway, 5 different themes, researching table-less design, etc. You know what? I had to put divs all over the place instead of tables.

    Really? Most of the CSS-layout pages I design have three, maybe four DIVs. You should look into that, I bet you can get rid of quite a few of them.

    Multi-column layouts are annoying as hell. Yeah, they're annoying in tables too, but damn. That's why there's entire web pages devoted to getting away from tables with weird, complicated CSS

    First of all, a few years ago I found tables to be "weird and complicated". Then I spent some time learning how to use them and now they make sense. Ditto for CSS; it took a little while and sme practice before I really got to know how it worked, but now those multi-column layouts seem almost intuitive. Also, I believe CSS3 is introducing new features specifically to make column layouts easier. Remember when complaining that CSS isn't a dead standard.

    Example 1: I want to make a form. Forms look nice if the labels are all lined up and all the form elements are lined up. Let's assume I want a page that can have varying size text (which is what people say should be allowed with css).. Ah fuck, can't use divs here. Oh well. I tried. From what I've found, there's no way to link the size of one div to the size of the others in a way that makes logical sense to the document format and flow.

    I'd like you to elaborate on this one.

    Example 3: Picture page. Captions on the bottom of thumbnails.

    The float method does work pretty well. Check out this tutorial. And what's this about an extra line screwing it up? Are you specifying fixed heights for your DIVs or something funky?

    Personally I'm a fan of CSS because it makes my layouts much more flexible (I can switch around stylesheets and such with amazing ease) and my markup much more readable. You can have my CSS when you pry it from my cold, dead hands.

    1. Re:*cough* by spectral · · Score: 1

      I didn't think out my post too well (bah, I blame lack of sleep, even though I'd just woken up). Anyway: CSS2 is barely supported by the things I have to use, I'm working on stuff now, so I have to try and get it to work in a decent array of browsers. That includes (and probably is limited to): Mozilla, IE5.5+, and Konqueror. I use all three on a regular basis. Waiting for CSS3 is annoying :) But I did take a look at parts of the spec after the other person replied to me, and there are some nice things happening in CSS3. Too bad I'll have grandchildren before it's supported widely. (hint: I don't have children nor a girlfriend at the moment :))

      The form one: Look at the slashdot submit. Notice how the labels are right aligned, with the form controls/elements/whatever all left aligned to the same column? tables make that easy. CSS, not so much (since the div containing the labels might be too small if width specified absolutely.) There's no easy way to make the column of labels all change size when one is too big (that I can think of).

      Example 3: it doesn't matter if there's a fixed height or not, as long as they're the SAME height. If one is bigger, then the next floats that come along align to the edge of that one. Therefore if the line wrapping causes the second picture in the first row to be a line longer than the others, the second row will start from underneath the third picture in the first row.

      I like CSS. It does make things a lot easier. In fact, I just redid one of my friend's pages with all css, reduced the size and complexity quite a bit (I left his table column layouts since that was more invasive changes than I felt like making at the time.) What bothers me are people trying to claim that CURRENTLY SUPPORTED CSS is capable of doing anything you want, be it images in your borders (CSS3), table displays (CSS2, not well supported, and legal to be ignored), or whatever. Eventually it will get there, but sometimes it's just easier to go with the quick hack than work out all the CSS to do manage a similar effect.

    2. Re:*cough* by spectral · · Score: 1

      (oh, and btw: I got that tutorial from 'a list apart', that's where I got the idea from.. it still has the same problems. And it brings up another slight issue I have, which is the fact that you need spacer divs. I dont' know if CSS2 putting these in for you would work (if it's supported by the browser), but right there you destroy that which CSS is intended to do. There should be a way around this (floated elements having space or something, I don't know.)

  70. Re:It even answers by glenstar · · Score: 1
    Ok... I can see that, having had the unfortunate experience of building a web server in VB in 1996 that did basically that (without, of course, actually following any standards... it was MS, man!).

    But what about that Not Acceptable? You would think that Apache would spit that out for goatse.cx.

  71. Keep Alive by POds · · Score: 1

    certainly a great idea. However, from my experiance (and theres been very little) A lot of diffrent clients or supporting platforms, dont seem to support it as well as it could.

    We were useing it with PHP on a recent project, that was returning XML to javascript from an HTML page.

    When keep alive was turned on, Network performance off course would be a little better off, however, for some reason we had various unexplained crashes.

    We didnt put it down to keepAlive at first, but eventualy we found out that when it was turned off, we had no problems. This was annoying because speed was a major factor of our project.

    Its a shame its been depreciated, but from my experiance, a lot of vendors didnt seem to support it properly. :}

    --


    Giving IE users a taste of their own medicine since 2005 - http://pods.-is-a-geek.net/
  72. Philip Hallam-Baker by Anonymous Coward · · Score: 0

    Your name is Philip Hallam-Baker. You were a self-important tosser when I met you, and by the sound of things, little has changed.

  73. Re:I don't have a web server by dublin · · Score: 1

    Actually, in many ways, the Gopher protocol is a far better way to deliver HTML than HTTP.

    Unfortunately, the idea never caught on, mostly becasue most browsers don't leverage or support the features of Gopher that would be useful (like, for instance, being able to tell how big something is *before* you download it, something that HTTP can't do. Try the "=" command on a Gopher link to see it work, and think how useful that could be on the web.)

    The Gopher protocol (as distict from Gopher clients) was probably a far better option than HTTP. Unfortunately, about hte time we had the chance to make the change, the newly formed web was inundated by PC users that had discovered Cello or Mosaic, and we all thought it would be too hard to make the change. In retrospect, it woudl have been far easier then, of course. Oh, well, win some, lose some...

    --
    "The future's good and the present is nothing to sneeze at." - Roblimo's last ./ post
  74. what gnu dose the squerrel use? by Anonymous Coward · · Score: 0

    hello
    what gnu and what kernel dose the squerrel use?
    and is it only in the one flavor(squerrel?)?

  75. Re:I say, xerithane@nerdfarm.org by robi2106 · · Score: 1

    Interesting how my previous comment above has wasted two separate MOD points from someone be being moded down.

    I used my mod points for Awsome. What do you use them for?

  76. OT: Blink. by oneiros27 · · Score: 1

    First, this is off topic, as is commonly associated with HTML, not HTTP, which this guide is about.

    Second, has never been in HTML. Netscape supported it, but it's never made it to the HTML standard, just like tag from IE. (See the Bare Bones Guide to HTML (not related to Bare Bones Software)

    --
    Build it, and they will come^Hplain.
  77. Re:Learning HTTP - plus HttpSniffer by MeerCat · · Score: 1

    but I find it difficult to actually apply the knowledge

    It depends what you do. When I first started web scripting on a new platform (ASP) I had problems with cookies, trying to see why cookies were being sent sometimes and not others. Watching an HTTP stream makes it much easier to measure results properly, plus you can see things like chunk-encoding, which slows transfers over low-bandwidth lines, but increases responsiveness by sending results before the full results are generated (without dropping back to HTTP 1.0). With ASP and IIS you don't have direct control over when this happens, but after fiddling for a while you can see how to provoke it, and how to prevent it when required.

    Nowadays you may not need to know this stuff, but when you do need it, you need to be able to see the subtleties of the stream (as you point out).

    < shameless-plug >

    To watch the HTTP stream I wrote hacky little perl script HttpSniffer that is available on my web site - handy for when you haven't got the ability to capture all the raw TCP/IP (eg Win2K to Win2K inside a corporate environment). It's really an HTTP tunnel, but you can use it to watch headers, negotiations, and will produce timing info too.

    Doing this I also found a few spots where various web servers don't quite meet the specs (or the specs are sort of vague) so you have to guess precisely what's happening...

    < /shameless-plug >

    --
    T

    --
    I spent a lot of money on booze, birds and fast cars. The rest I just squandered. - George Best
  78. Watching HTTP with HttpSniffer by MeerCat · · Score: 1

    < shameless-plug >

    To watch the HTTP stream I wrote hacky little perl script HttpSniffer that is freely available on my web site - handy for when you haven't got the ability to capture all the raw TCP/IP (eg Win2K browser to Win2K server inside a corporate environment, or you have to debug interactions with a new web client on someone else's machine).

    It's an HTTP tunnel (cf xmon for tracing X), but you can use it to watch headers, see authentication and other negotiations, and if you want it will produce timing info too.

    < /shameless-plug >

    --
    T

    --
    I spent a lot of money on booze, birds and fast cars. The rest I just squandered. - George Best