Flip it and reverse it
October 5, 2011 12:08 PM Subscribe
Why do domain names go www.example.com instead of com.example.www?
When you look at an URL in your address bar you get something like www.example.com/directory/subdirectory/file.ext
To me it would make more sense to have everything in order in increasing specificity: com (the whole world, sort of) example (the domain) www (the subdomain) directory (now we're getting there) file (yay!)
But now it goes from specific (subdomain) to general (domain, top level domain), and then more specific again (directory, subdirectory, file). I'm sure there's a reason why things are the way they are, and I'd like to know about it.
However, I haven't really been able to find anything useful because I don't really know what I should be searching for since terms like "domain name" together with "order" or "left to right" aren't bringing anything helpful up for me.
When you look at an URL in your address bar you get something like www.example.com/directory/subdirectory/file.ext
To me it would make more sense to have everything in order in increasing specificity: com (the whole world, sort of) example (the domain) www (the subdomain) directory (now we're getting there) file (yay!)
But now it goes from specific (subdomain) to general (domain, top level domain), and then more specific again (directory, subdirectory, file). I'm sure there's a reason why things are the way they are, and I'd like to know about it.
However, I haven't really been able to find anything useful because I don't really know what I should be searching for since terms like "domain name" together with "order" or "left to right" aren't bringing anything helpful up for me.
At work so can't really look it up, but I believe I've seen comments by (Berners-Lee? Seems like it would have been earlier than him but perhaps not,) that indeed it SHOULD go that way, but by the time they really realized they'd done it wrong, it was too late to really change it. So basically, yeah, you're right, and even the people who designed it agree. Hopefully someone can back that up with an actual link though.
posted by John Kenneth Fisher at 12:13 PM on October 5, 2011
posted by John Kenneth Fisher at 12:13 PM on October 5, 2011
One big reason is that DNS predates the WWW by several years.
posted by yeahyeahyeahwhoo at 12:14 PM on October 5, 2011
posted by yeahyeahyeahwhoo at 12:14 PM on October 5, 2011
It's important to remember that domain names have been represented left-to-right since before there was such a thing as a URL or URI.
posted by These Premises Are Alarmed at 12:15 PM on October 5, 2011
posted by These Premises Are Alarmed at 12:15 PM on October 5, 2011
The www is not a subdomain, it was meant to indicate that the resource is located on a webserver, as opposed to another kind of server . Alternatively it could be ftp.example.com, indicating it's on an ftp server, or gopher.example.com, indicating it's on a gopher server (ask your parents).
posted by stupidsexyFlanders at 12:16 PM on October 5, 2011 [9 favorites]
posted by stupidsexyFlanders at 12:16 PM on October 5, 2011 [9 favorites]
You may want to take a look at RFC 1034 and RFC 1035, which talk about Domain Names and their history.
posted by Lemurrhea at 12:18 PM on October 5, 2011
posted by Lemurrhea at 12:18 PM on October 5, 2011
Best answer: Basically, it's because two different systems developed for two different purposes got mashed together to create url schemes.
When they started to network the networks together (the "inter-net"), they named all the computers with numbers. 10.0.0.1. There's a whole lot of technical nonsense behind why/how this works that i'm leaving out here for simplicity.
Then they thought, "that's pretty annoying. Let's come up with a more human-friendly way to address the computers. Like, names." So they said, "Ok, we'll have .edu. That will be for schools. And we'll be like harvard.edu. That will be harvard. and Harvard can control all the stuff up from there: mail.harvard.edu." Etc. This was pretty much an arbitrary decision. They could have gone com.harvard. In fact, there was a different human-readable way of addressing computers that worked in reverse called bang paths: e.g. !bigsite!foovax!barbox!me . But without the file part, it's not like one is obviously more logical than the other.
Then, there was the invention of filesystems. / is the top of the filesystem. /user is the user directory of that file system. /user/jeb is my directory. Again, this is fairly arbitrary, it could certainly have worked the other way. I think most people who read left-to-right languages though would have gone this way.
The point is, this was developed totally independently of the computer-addressing system. It's a system to address files within a computer, or within a logical filesystem, more specifically.
So when TBL et al were inventing the url schemes, they just took these two more-or-less unrelated concepts: first how to address a computer on the internet, and second how to address a file on that computer and mashed them together, because each part was already familiar to people in that configuration.
In general, when you're computer goes out and looks up a url, completely different systems handle the stuff to left and right of the / in the path: foo.example.com is the domain of routers, and then /folder/file.ext is the domain of servers.
It would certainly make more logical sense, probably, for it to be the other way, but there's a lot of stuff like this. Why do I write my mailing address as 123 Fake Street, Apartment 2, City, State, Post Code, rather than Apartment 2, 123 Fake Street...?
For what it's worth, plenty of other systems have sort of done what you are talking about. When you name a java package, for instance, it's common to name com.example.system.specificpackagename, which keeps the hierarchy nice and clean.
But with URLs, its basically from taking two different systems that had different purposes and putting them together.
posted by jeb at 12:21 PM on October 5, 2011 [9 favorites]
When they started to network the networks together (the "inter-net"), they named all the computers with numbers. 10.0.0.1. There's a whole lot of technical nonsense behind why/how this works that i'm leaving out here for simplicity.
Then they thought, "that's pretty annoying. Let's come up with a more human-friendly way to address the computers. Like, names." So they said, "Ok, we'll have .edu. That will be for schools. And we'll be like harvard.edu. That will be harvard. and Harvard can control all the stuff up from there: mail.harvard.edu." Etc. This was pretty much an arbitrary decision. They could have gone com.harvard. In fact, there was a different human-readable way of addressing computers that worked in reverse called bang paths: e.g. !bigsite!foovax!barbox!me . But without the file part, it's not like one is obviously more logical than the other.
Then, there was the invention of filesystems. / is the top of the filesystem. /user is the user directory of that file system. /user/jeb is my directory. Again, this is fairly arbitrary, it could certainly have worked the other way. I think most people who read left-to-right languages though would have gone this way.
The point is, this was developed totally independently of the computer-addressing system. It's a system to address files within a computer, or within a logical filesystem, more specifically.
So when TBL et al were inventing the url schemes, they just took these two more-or-less unrelated concepts: first how to address a computer on the internet, and second how to address a file on that computer and mashed them together, because each part was already familiar to people in that configuration.
In general, when you're computer goes out and looks up a url, completely different systems handle the stuff to left and right of the / in the path: foo.example.com is the domain of routers, and then /folder/file.ext is the domain of servers.
It would certainly make more logical sense, probably, for it to be the other way, but there's a lot of stuff like this. Why do I write my mailing address as 123 Fake Street, Apartment 2, City, State, Post Code, rather than Apartment 2, 123 Fake Street...?
For what it's worth, plenty of other systems have sort of done what you are talking about. When you name a java package, for instance, it's common to name com.example.system.specificpackagename, which keeps the hierarchy nice and clean.
But with URLs, its basically from taking two different systems that had different purposes and putting them together.
posted by jeb at 12:21 PM on October 5, 2011 [9 favorites]
Way, way back in the day the name lookup for JANET in the UK did work the other way. So, for example, you could address a specific computer in Cambridge as uk.ac.cam.cl . However, the IP & DNS won out over X.25 & JANET switched over completely in the early 90s.
posted by pharm at 12:32 PM on October 5, 2011 [1 favorite]
posted by pharm at 12:32 PM on October 5, 2011 [1 favorite]
Berners-Lee:
"I have to say that now I regret that the syntax is so clumsy. I would like http://www.example.com/foo/bar/baz to be just written http:com/example/foo/bar/baz where the client would figure out that www.example.com existed and was the server to contact. But it is too late now. It turned out the shorthand '//www.example.com/foo/bar/baz' is rarely used and so we could dispense with the '//'."posted by John Kenneth Fisher at 12:36 PM on October 5, 2011 [1 favorite]
On the left side of the address
http://ask.metafilter.com/197743/Flip-it-and-reverse-it
it is in order. I want to go to the webserver -www at the subsite - .ask at the site - .metafilter in the .com top-level domain. Once I'm at the correct server, I want to go to the specific file, via the path
/197743/Flip-it-and-reverse-it
As ssflanders notes, the Internet has different types of servers. You might want to go to a gopher server,
gopher://gopher.floodgap.com/1/buck
in this case, gopher:// is the protocol, and gopher.floodgap.com is the gopher server at floodgap.com.
I feel quite nostalgic now. Also, gopher is fun to say.
posted by theora55 at 12:39 PM on October 5, 2011 [1 favorite]
http://ask.metafilter.com/197743/Flip-it-and-reverse-it
it is in order. I want to go to the webserver -www at the subsite - .ask at the site - .metafilter in the .com top-level domain. Once I'm at the correct server, I want to go to the specific file, via the path
/197743/Flip-it-and-reverse-it
As ssflanders notes, the Internet has different types of servers. You might want to go to a gopher server,
gopher://gopher.floodgap.com/1/buck
in this case, gopher:// is the protocol, and gopher.floodgap.com is the gopher server at floodgap.com.
I feel quite nostalgic now. Also, gopher is fun to say.
posted by theora55 at 12:39 PM on October 5, 2011 [1 favorite]
Why it is harvard.edu instead of edu.harvard? The answer has been well stated already, but there is also the fact that harvard.edu or metafilter.com simply sound better than com.metafilter. The "metafilter" or "harvard" is what is important and what is remembered/marketed.
After all we say Harvard University instead of University Harvard - at least that is how English handles it.
posted by 2manyusernames at 1:24 PM on October 5, 2011 [1 favorite]
After all we say Harvard University instead of University Harvard - at least that is how English handles it.
posted by 2manyusernames at 1:24 PM on October 5, 2011 [1 favorite]
Hypothesis:
English-language speakers tend to order things smallest-to-greatest -- addresses, dates (at least outside the US which is screwed up), business titles (Joe Bloe, X Department, Y Corporation). (We could call this little-endian.)
However, when displaying and writing a file on a filesystem, it only makes sense to write greatest-to-smallest (the directory x/y/z is what you'd see if you first cd into x, then into y, then into z). (We could call this big-endian.)
So DNS got the little-endian version because that's the default for postal addresses and most other things in our society, while filesystems got the big-endian order.
Interestingly, in Chinese dates and street addresses are big-endian. I wonder how it would work if they had invented the Internet?
posted by miyabo at 1:26 PM on October 5, 2011
English-language speakers tend to order things smallest-to-greatest -- addresses, dates (at least outside the US which is screwed up), business titles (Joe Bloe, X Department, Y Corporation). (We could call this little-endian.)
However, when displaying and writing a file on a filesystem, it only makes sense to write greatest-to-smallest (the directory x/y/z is what you'd see if you first cd into x, then into y, then into z). (We could call this big-endian.)
So DNS got the little-endian version because that's the default for postal addresses and most other things in our society, while filesystems got the big-endian order.
Interestingly, in Chinese dates and street addresses are big-endian. I wonder how it would work if they had invented the Internet?
posted by miyabo at 1:26 PM on October 5, 2011
Best answer: However, I haven't really been able to find anything useful because I don't really know what I should be searching for
Well, you could always start with Domain_Name_System#History to get at least an overview.
The main thing you need to remember is that first of all, this developed organically. There was no vision of individual grandmas one day having to hunt-and-peck their way through http://www.socialsecurity.gov/benefits/faq/spousal (imaginary example). The people using the system in the early 1980s were all computer geeks communicating amongst themselves, and the internet had grown to the point that the bang-path system was unwieldy. So they came up with something via the time-honored request for comments system. Basically, somebody proposed a solution, and then everybody waited to see if everyone else would adopt it. It's both an iterative and experimental process where "good enough" is frequently the winner, and "ideal" is heavily limited by inertia and extant standards.
Look at RFC 881, for example, which seems to be the first to really deal with the domain names concept.
I would suggest that the primary reason that the TLD (top-level domain) was placed at the end was that e-mail had already been invented and the @ character was already in use for styles such as bob@harvard -- so tagging the TLD at the end, bob@harvard.edu, was much more parseable. Similarly, any other protocol -- from ftp to gopher -- would already be addressing, again, an individual computer server. Once more, putting the server first, next to the protocol, mirrored existing practice, and putting the domain cruft at the end simply signaled a standard means of parsing what became in web era the URL (which, after all, is a uniform resource locator). That is, when TBL and others were developing the web, they had to deal with both server-side and browser-side parsing issues, and the less complicated that was for the software the better. (Part of the idea of the web, in fact, was to get around the need for users to type out URLs -- but you see how well that worked.)
So toss out any idea that there was a grand plan or even much idea of how this would be used in the future by a broad swathe of humanity. If they'd known that, they might have done things differently. At the time, they were just trying to solve a few existing glitches.
posted by dhartung at 5:06 PM on October 5, 2011
Well, you could always start with Domain_Name_System#History to get at least an overview.
The main thing you need to remember is that first of all, this developed organically. There was no vision of individual grandmas one day having to hunt-and-peck their way through http://www.socialsecurity.gov/benefits/faq/spousal (imaginary example). The people using the system in the early 1980s were all computer geeks communicating amongst themselves, and the internet had grown to the point that the bang-path system was unwieldy. So they came up with something via the time-honored request for comments system. Basically, somebody proposed a solution, and then everybody waited to see if everyone else would adopt it. It's both an iterative and experimental process where "good enough" is frequently the winner, and "ideal" is heavily limited by inertia and extant standards.
Look at RFC 881, for example, which seems to be the first to really deal with the domain names concept.
I would suggest that the primary reason that the TLD (top-level domain) was placed at the end was that e-mail had already been invented and the @ character was already in use for styles such as bob@harvard -- so tagging the TLD at the end, bob@harvard.edu, was much more parseable. Similarly, any other protocol -- from ftp to gopher -- would already be addressing, again, an individual computer server. Once more, putting the server first, next to the protocol, mirrored existing practice, and putting the domain cruft at the end simply signaled a standard means of parsing what became in web era the URL (which, after all, is a uniform resource locator). That is, when TBL and others were developing the web, they had to deal with both server-side and browser-side parsing issues, and the less complicated that was for the software the better. (Part of the idea of the web, in fact, was to get around the need for users to type out URLs -- but you see how well that worked.)
So toss out any idea that there was a grand plan or even much idea of how this would be used in the future by a broad swathe of humanity. If they'd known that, they might have done things differently. At the time, they were just trying to solve a few existing glitches.
posted by dhartung at 5:06 PM on October 5, 2011
2manyusernames writes "The 'metafilter' or 'harvard' is what is important and what is remembered/marketed."
Also I read it is easier for people to remember it this way. It sure is for me. See as a counter example phone numbers which are backwards. The most variable information is at the end of the number instead of the beginning.
posted by Mitheral at 5:19 PM on October 5, 2011
Also I read it is easier for people to remember it this way. It sure is for me. See as a counter example phone numbers which are backwards. The most variable information is at the end of the number instead of the beginning.
posted by Mitheral at 5:19 PM on October 5, 2011
See: street addresses (123 Fake Street instead of Fake Street 123), dates (11 May 1900, not 1900 May 11... well... in some parts of the world), names (John Doe and not Doe John).
We often stick fine modifiers on the left side of the thing because that's what we read first. Oftentimes we just need to see "123" ... "oh, that's just next door here". Likewise, I see "google" and can generally stop (unless I'm checking for security reasons, etc.).
It's just a matter of scanning efficiency, though it's backwards from a data structure point of view.
posted by introp at 9:29 PM on October 5, 2011
We often stick fine modifiers on the left side of the thing because that's what we read first. Oftentimes we just need to see "123" ... "oh, that's just next door here". Likewise, I see "google" and can generally stop (unless I'm checking for security reasons, etc.).
It's just a matter of scanning efficiency, though it's backwards from a data structure point of view.
posted by introp at 9:29 PM on October 5, 2011
Best answer: As dhartung mentioned the the modern domain name system grew out of a desire to have a simple, unique e-mail address for each person. The early system of email addresses was developed when every server had a direct connection to every other server, which the network quickly outgrew. As the network spread a relaying system came into use. Basically if you didn't have a direct connection to another host, you had to know the route through hosts that did to get an e-mail to a person there. It would look something like bjrn!ask!mefi!reddit!4chan!joe
RFC805 documents a meeting where the current hierarchical structure was proposed and why it should read (left to right) from the most specific to the most general.
posted by IanMorr at 7:01 AM on October 6, 2011
RFC805 documents a meeting where the current hierarchical structure was proposed and why it should read (left to right) from the most specific to the most general.
posted by IanMorr at 7:01 AM on October 6, 2011
I bow to IanMorr's superior RFC ferreting skillz. There was a time when I read RFCs for fun, but that was long ago.
posted by dhartung at 4:30 PM on October 6, 2011
posted by dhartung at 4:30 PM on October 6, 2011
« Older It's not about the civil war. It's about factory... | How do I refuse the kindness of these strangers... Newer »
This thread is closed to new comments.
posted by tmcw at 12:12 PM on October 5, 2011