Mime types.. when will people learn?

<rant>

HTTP has an incredible useful feature to supply the Content-Type HTTP header for any url. This allows HTTP clients to easily figure out what type of data they're getting.

Over and over again I see clients, not doing this and making assumptions based on the url. The extension of all things! This is some artifact inherited from ms-dos, and passed on to different operation systems when GUI's became popular.

Two clear examples I have today (and I'm sure many people will have examples like this)

  • Flash's VideoPlayer component. If there's no extension in the url, it will assume its some kind of xml file.
  • iTunes podcasts.. Files have to end with a known extension for iTunes to pick it up as a video or audio file. Even though the Mime type has to be specified in both the RSS feed and the HTTP Header!

WTF?

</rant>

Web mentions

Comments

  • Jim

    Jim

    Shouldn't you be raving about Windows... or Mac? I am not sure about your OS, but using Linux a file with .dsakxklf will still be labeled as a video and associated with it's player as long as the video's type is correct. The issue is when there is no extension and no file type.
  • Evert

    Evert

    That might be true, and that would also work for OS/X (where I'm on..). If something doesn't have that mark (on Linux or OS/X) the extension will however be used to determine a filetype.. My rant wasn't really about the operation systems, but more about HTTP client implementors such as Apple and Adobe in this case..
  • sapphirecat

    sapphirecat

    Amen on the VideoPlayer thing. To get around that once, I had to write a URL like this: video.php?get=VIDEOID&hack=x.flv Ick.
  • Disher

    Disher

    Pain in the ass!