Note: since I started writing this entry, in that half hour or so, the problem I was writing about went away, although it hadn't been for at least the
past few days. This is one example of a problem I see fairly regularly, a site that answers on www.domain.com, but not on domain.com. These are the
details, but they're far from an isolated case.
Back in the day, when IMDB first was started, they had a partnership arrangement with a little online-video company called reel.com.
Since that point, reel.com has been bought by hollywood video and has discontinued their online business, and their one storefront store still stands
However, this entry isn't about this, it's about countless websites that do a stupid-but-annoying thing.
reel.com has an IP address. www.reel.com has an IP address. They happen to be the same, but they don't have to be.
If you go in a browser to http://www.reel.com, you get to a "thanks for your patronage" page that points traffic at the
Hollywood Video page. If you go to just plain http://reel.com (no "www"), you get...nothing. You get a "Virtual Directory
Finally, if you go to the ip address of reel.com, which is http://188.8.131.52, you get the main page.
Well, for starters, lets make it real clear. The webserver that serves this site is running Windows. That "Virtual Directory" error is an IIS thing.
Sending along a hostname isn't part of the original HTTP specification, it's part of a little add-on known as HTTP1.1, when it was realized the
proliferation of the web would quickly exhaust the number of ip addresses out there if there was only a 1:1 mapping.
IIS, the piece-of-garbage webserver built into windows, has a site config window that looks like this.
Note that there's an option to specify ONE name for a site, and only one.
So, if you connect to an ip, but don't send a hostname (or send a hostname containing only an IP address), you get a site. If you send EXACTLY what's
in that box above, you get a site.
In order to add multiple host headers, to the same site, even if they are really just aliases of the same site, requires work, it requires
clicking that "Advanced" button, and putting the hosts in, OR it requires having your site be the ONLY one on that IP address, and specifying no
So, let's make it clear, what could the administrators do better?
1) They could configure a different site in IIS for reel.com, and configure it to be a redirect to www.reel.com. They can even preserve the path so a
request for reel.com/images/logo.gif just gets handled the right way, instead of redirecting everyone to the "front door".
2) They could remove the need for host headers entirely, since chances are, the reel.com site is the only one running on that ip.
3) Radical option: they could simply remove the A record for reel.com. What this actually means is that the user will get an error that the domain
doesn't exist. You can't tell me this error is any better or worse than the "Virtual Directory Listing Denied" error.
4) They could use a real OS/Webserver. Seriously, you're working for a publicly traded company like Hollywood video. I'm sure they're paying you
good money to click the little boxes to turn on IIS. Perhaps they could instead pay someone who knows what they're doing? And if the OS and
webserver require a degree of clue to get running instead of "click I Agree, click next, click next, click Finish", then maybe that's not a bad thing.
Don't get me wrong, windows is good for a lot of things. I run it at home because I don't feel like fighting my hardware just to run a GUI, and
because I like working video, sound, and USB drivers. I like my stress-relief games to work without having to deal with the stupidity of an emulator.
I like being able to buy anything at the store and know I can plug it in and have it work without installing a bleeding-edge kernel.
But for a server? None of those apply. People all the time cite "But I need something supported" as a reason to use Windows, but nobody pays the
per-incident Microsoft support fees, everyone just calls someone with more clue, or Googles. You can afford better than that. Unix is darwinistic:
people who figure out how to use it are the ones that do. The clueful people advance. You want one of those, Hollywood.
I mean, potentially, this is free advertising for them. Don't you want money? Can you imagine if say, netflix.com didn't work, but www.netflix.com
did? Think that would be a problem?