IEのmime typeの判定

IEに限らずブラウザを使っていると、ダウンロードしたいものなのに、ブラウザで開いてしまうことが起こる。ここではmp3を開いたときに、quicktimeのアドオンが起動する場合にこれをダウンロードするように直す方法を調べてみる。

一般的にはファイルの種類を知りたいとき、拡張子というのがあるが、Mine Typeはこの拡張子をもっと一般的にしたものだと思う。サーバーはブラウザからの要求に対して、Content-typeヘッダを返す。たとえばhtmlデータを返す場合は以下のようなヘッダを返す。

Content-type: text/html

サーバがどのようなContent-typeを返すかは、通常拡張子によって決まると思われる。apacheなどの場合はmod-mimeのAddTypeなどを使っていろいろカスタマイズできるのだろう。またPerlなどのCGIの場合には自分でContent-typeを指定することもできる。

IEがこのContent-typeを受け取ったときどう処理されるかはここなどに書いてあり、ここにも要約があるが、複雑みたいなので、ここでは勝手に解釈して作業を続行する。

問題のmp3の時、サーバはContent-typeとして、audio/mpegを返していた。これを調べるにはレスポンスヘッダを見れるダウンロードマネージャを使ったり、プロキシで見てみたりいろいろやり方はあるが、ここではスルー。

このaudio/mpegの時、IEがどう動くかだが多分レジストリーの
HKEY_CLASSES_ROOT\MIME\Database\Content Type\audio/mpeg
を見ているのだろう。で、このキーの中のCLSIDで指定されているGUIDのコンポーネントを起動しているものと思われる。ここでは
{4063BE15-3B08-470D-A0D5-B37161CFFD69}
になっていた。これ以上はCOMの話になると思うので詳しくは書かないが、ここからレジストリキー

HKEY_CLASSES_ROOT\CLSID\{4063BE15-3B08-470D-A0D5-B37161CFFD69}
をみて動作しているものと思われる。

そこでレジストリーから
HKEY_CLASSES_ROOT\CLSID\{4063BE15-3B08-470D-A0D5-B37161CFFD69}
を削除してみたら、mp3がquicktimeによるアドオン再生から、ダウンロードに変わって希望の動作ができたので終了。

ちなみにfirefoxの場合は、オプションのプログラムで設定できるものと思われる。
firefox-contenttype

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)