Appendix B : MIME タイプ

 インターネットでは,今やさまざまなタイプのデータが飛びかっているが,それがどんなデータであるかはふたを開けてみないとわからないことが多い。これを前もって“こんなデータですよ”というのが MIME タイプである。ここでは簡単に概略を説明する。

MIME タイプとは

 HTML から外部のデータを呼び出すとき,それがどんなものかによってコンピュータの処理は当然異なる。テキストデータを画像にしようとか,画像のデータを演奏しようとかいうのはもってのほかである。

 ファイル名にはデータのタイプに対応した拡張子がついている場合が多いが,拡張子がなかったらどうするのか。また,知らない拡張子のデータはどう処理すればよいのか。そのデータがテキストならば表示させても問題なさそうだが,画像でテキストとして表示したらとんでもないことになる。

 MIME タイプはデータのタイプを大きく分類し,さらに細かく分類する。一般に,次のようになっている。

タイプ)/(サブタイプ

MIME タイプに大文字・小文字の区別はない。

 大分類であるタイプには次の 8 つが定義されている。

text
テキストデータ。通常のテキスト,HTML などが含まれる。一般に,そのまま表示させても差し支えない。
image
画像のデータ。JPEG,GIF などが含まれる。表示できるデバイスが必要。
audio
音声のデータ。音声出力デバイスを必要とする。
video
動画のデータ。MPEG,QuickTime ムービーが含まれる。画像を高速に処理する能力が必要とされる。
application
おもにアプリケーションが吐き出すデータ。実行形式ファイルや,PostScript が含まれる。多くは人間が直接読んでも意味不明である。
multipart
2 つ以上のデータが混在している。
message
電子メールなどのデータ。
model
モデルのデータ。VRML などが含まれる。

このほかに,試験的に用いられる“x-”を冠したタイプもあるが,あまり用いられない。

 以降,はじめの 5 つ(text,image,audio,video,application)について見ていくことにしよう。

 次に,おもなサブタイプをタイプごとに見てみよう。サブタイプはそれぞれ拡張子と対応していることが多いので,参考におもな拡張子も示しておく。

おもなサブタイプ
タイプ サブタイプ拡張子タイプ名 解説
text plaintxtテキストファイル 通常のテキストファイル。
htmlhtml,htmHTML ファイル HTML ファイル。
csscssCSS ファイル カスケーディングスタイルシートのファイル。
xmlxmlXML ファイル XML で書かれたファイル。
image gifgifGIF イメージ Graphic Interchange Format。CompuServe で標準化された画像データ形式。
jpegjpg,jpegJPEG イメージ Joint Photographic Experts Group。不可逆圧縮を行い高い圧縮率を実現する画像データ形式。
tifftif,tiffTIFF イメージ Tag Image File Format。可搬性を重視した画像データ形式。一般にファイルサイズが大きめ。
pngpngPNG イメージ Portable Network Graphics。ネットワーク利用を見据えて作られた画像データ形式。
audio basicau,snd Sun ワークステーションで用いられるサウンド形式。
video mpegmpg,mpegMPEG ムービー Motion Picture Experts Group。高圧縮の動画データ形式。DVD などにも使われ,転送速度により 3 つの規格がある。
quicktimemovQuickTime ムービー MacOS 標準の動画形式。マルチメディアプレゼンテーションによく使われる。
application octet-streamexeバイナリデータ 通常のバイナリデータ。
postscriptps,epsPostScript プリンタ記述用言語。
mac-binhex40hqxMacintosh BinHex MacOS で用いられる,バイナリデータをテキストに変換したデータ。
pdfpdfPDF ファイル Adobe Acrobat などで生成する,環境に依存しない文書ファイル。HTML と異なりページメディアでのレイアウトを含めた配信に用いられる。
zipzipZIP アーカイブ PKZIP で圧縮されたアーカイブファイル。
msworddocMS-Word 文書 Microsoft Word で生成される文書ファイル。

サブタイプには,“x-”を冠した試験的なものが多く見られる。

 HTML で TYPE 属性にこういった MIME タイプを指定するのは,ブラウザが認識しているタイプかどうか,認識していなければそれを読んできてふつうに表示させてよいものかを判断する貴重な材料になる。

 もし,<OBJECT> で扱いも知らない巨大な動画ファイルが指定されていたとすれば,タイプが明示されている場合,それをもとから読みに行かず代替措置を実行すればよいことになる。このとき,タイプが明示されていなければ,長時間かけてファイルを読んだあげく“扱い方を知りません”ということになりかねないのである。