4 ms·
HTTP is not elegant. I can disprove its elegance with one word: referer [sic]
by Afforess 12y ago
HTTP is not elegant. I can disprove its elegance with one word: referer [sic]
- jacquesm 12y agoReferrer was a nice idea that led to a lot of trouble. Agreed, that wasn't the most brilliant idea but in a world of one-way-links a way to establish the origin of incoming traffic so you could simulate reciprocal links must have seemed like a good idea at the time. Keep in mind that Hypertext as it was originally envisioned by Ted Nelson had nothing but two way links, doing one-way links broke with the view of the day in a pretty drastic manner (and actually made the whole thing possible), so I think some leeway here is allowed.
- kmowery 12y agoI believe they were referencing that in English it is "referrer", but has been misspelled in HTTP forever as "referer".
- jacquesm 12y agoWell, in this draft linked here they spell 'server' as 'sever' in one instance so I guess that evens up the score. But the GGP had a point, referrer is a troublesome bit in many ways and he seemed to be aware of the spelling error so I chose to answer the meat of the item rather than to take it in the most simplistic way (after all, making spelling errors like this really does happen, one guy I knew had sandblasted 150 glass doors with a text when I happened to walk by and pointed out that pneumatical has an 'n' in the second position (and not an 'm'...). For some reason he didn't seem all that happy.
- fpgeek 12y agoThe score most certainly not even. HTTP is still way, way behind. There's a qualitative difference between a spelling error in the document describing the protocol and a spelling error in the protocol itself. In my opinion, the substantive point wasn't about the mechanics of referrers, but that the lack of care and attention to detail demonstrated by "Referer" is strong evidence that HTTP is not as elegant as you claim.
- jacquesm 12y ago> The score most certainly not even. Right ;) I worked a bit for a small newspaper in Amsterdam in the 1980's, called 'the paper about Holland'. It was written by two UK journalists, Abi Daruvalla and Mark Fuller. We were pretty good at proofreading because spell checkers were non-existent at the time, we barely had a word processor. It would probably surprise you that as a non-native English speaker I would catch typos (not grammar errors) much quicker than the rest of the (native speakers/writers) crew. We figured it was because they didn't actually read the words where I had to. They'd mentally fill in the word that should have been there which allowed them to proofread a piece with three individuals and I'd still catch the mistakes in the spelling. In spite of that we managed to ship two issues labeled September in one year, and that's with everybody being so focused on the spelling that nobody bothered to check the dates. I think you're reading way too much in a single letter spelling error (which I spotted the first time I saw the word), the common excuse is that the spell checker used by the person that wrote that part did not include a spelling for 'referrer' (and if it had it would have probably ignored it with the leading capital anyway...). I've seen some pretty elegant code with terrible spelling errors in the variable names, it's certainly not great to have a spelling error in a text protocol. But I would not use that single letter mistake as a yardstick by which to measure the entire protocol, that seems all too easy a way to discard something that has stood the test of time very well.
- Dylan16807 12y ago> the meat of the item Imaginary meat. Sure, you can talk about the implications of the actual header, but you must first acknowledge that this has nothing whatsoever to do with the context of 'elegance'.
- MichaelGG 12y agoBingo. Also look at the handling of URIs (absolute or relative), encoding issues, and the mess that is the actual text format. HTTP's popularity outside of the web is mainly cause it's easy to use as a simple wrapper around TCP with read and read/write semantics. Nearly all the rest of HTTP is unneeded fluff (proof: browsers didn't even do other methods besides GET/POST and applications were just fine).