Tim Berners-Lee Is Sorry About the Slashes
Stony Stevenson writes "A light has been shone on one of the great mysteries of the internet. What is the point of the two forward slashes that sit directly in front of the 'www' in every internet website address? The answer, according to Tim Berners-Lee, who had an important role in the creation of the web, is that there isn't one. Berners-Lee revisited that design decision during a recent talk with Paul Mohr of the NY Times when Mohr asked if he would do any differently, given the chance. 'Look at all the paper and trees, he said, that could have been saved if people had not had to write or type out those slashes on paper over the years — not to mention the human labor and time spent typing those two keystrokes countless millions of times in browser address boxes.'"
From technical point of view, *not* having the // could create problems more easily. For example if you include port number in the URL and browser or program tries to look at what protocol it is based on value before first :
http://tech.slashdot.org:80/story/09/10/14/1219215/Tim-Berners-Lee-Is-Sorry-About-the-Slashes
http:tech.slashdot.org:80/story/09/10/14/1219215/Tim-Berners-Lee-Is-Sorry-About-the-Slashes
Now if you dont write that http: in browser:
tech.slashdot.org:80/story/09/10/14/1219215/Tim-Berners-Lee-Is-Sorry-About-the-Slashes
Now the browser would think the protocol is tech.slashdot.org and tries to pass it to a responsible program instead of loading it. This means you would now need to actually type in the http: which none of us do now. Or dropping general URI support from browsers and IM windows and any other programs (you know all those irc:// spotify: and so on URI's). Or then typing in the :80 would be mandatory.
Doesn't the same logic hold for the person that decided it should be 'http' for hypertext transfer protocol and not just simply 'h'? Yes, http is more descriptive but unnecessary. Had another protocol came along starting with 'h' they could have opted for another letter or -- if they were all taken -- became a two letter protocol. I mean, if we're going to get into pedantic apologies for lack of brevity I would assume the three unnecessary letters in http are a greater crime than the double slashes, right? Of course, rarely do I find myself typing anything other than the domain and TLD (i.e. slashdot.org, mail.google.com, woot.com) so this has really become a non-issue.
My work here is dung.
I think it's interesting to be able to talk to someone who picked something that affects so many people on a daily basis. Of course, it's a really tiny effect, but very visible. He could have picked two colons or dollar signs or any random thing. It's not often you get to make a decision that ends up being used globally.
I will shred my adversaries. Pull their eyes out just enough to turn them towards their mewing, mutilated faces. Illyria
Back when I wrote a thesis on dissemination of company-internal information via the world-wide web, in 1994 or so, I remember stating that originally, an indication of which network protocol to use was meant to go between the slashes. But since, in the real world, the network protocol was always TCP/IP, this was made the default and whatever was once put between the slashes was dropped.
Of course, I don't remember the source or anything.
I had occasion to have an email conversation with Berners-Lee at one time (he bought a license for a program of mine), and I asked if he regretted choosing "www" instead of "web". I was very surprised that this was not something he'd change if he could do the whole thing over ...
Saying "double u double u double u" takes about twice as long as saying "web" so that would have been far more beneficial than worrying about the slashes.
There was a bit of a drive to use "web" some years ago, but unfortunately that fizzled..
I'm pretty sure they are sorry about that. I can't remember who it was, Paul Allen maybe? But one of the early MS programmers said once that he hugely regretted using / for switches in DOS 1.0. When they added directories in a later version, / was already taken so they had to use \ instead.
Quidquid latine dictum sit, altum sonatur.
OK, maybe it could have been reduced to one slash, since there's no :/ smiley elsewhere in the URL pattern, but you need to be able to distinguish relative URLs from absolute ones. Without some unique token sequence that was guaranteed not to occur elsewhere in a URI you're going to run into problems. Start removing components from a fully specified URI and see how quickly you run into ambiguities:
method://username:password@host:port/paths/terminal?token=value&token=value
The reasons for the // convention for the "super root" in networks like OpenNet and FutureNet, that he was copying, are still valid in URIs. You need something that's easily parsed by computers, and easily recognized by humans. When I first saw the syntax I was all "slash slash whiskey tango foxtrot?", but after using it for a while I was convinced that I was wrong and he was right, and even if he's forgotten why... I still think he was right the first time.
Berners-Lee regrets that as well, from back in 2000...