MIME magic

MIME magic

[97] 多くの Unix 系の OS には、 MIME magic などと称するツールが同梱されています。 これは、ファイルの先頭のバイト列から MIME型を推定するものです。

[98] MUA その他のソフトウェアファイルMIME型を与えて送出する時に、 (Unix では Windows ほど拡張子がファイル型識別子として重視されないため) MIME型を自動または半自動で判別するための手段として採用されています。

MIME との関係

[3] ファイルの種別の記述のために MIME型が使われていることから、この名前があります。 本ツールやその挙動が MIME で規定されているわけではありません。

実装

[4] 似たような名前の実装が数多く存在します。

[5] あるプラットフォームから別のプラットフォームへの移植や、 その他の親戚関係が存在するものもありますが、 どうやら全部が全部同じ系譜に連なるものでもなさそうです。 (名前や手法の類似性という緩い継承関係まで含めれば、すべて繋がっているとは思われますが。)


[6] 判定するプログラムの部分と、判定条件を記述したデータベースの部分が分離されている実装が多いように見受けられます。 データベースだけ独立して管理しているプロジェクトもあります。

[7] データベースの記述には、独自のテキストファイル形式や、 独自の XML 形式など、いろいろな方法があるようです。

[8] 多くのプラットフォームが何らかの MIME magicデータベースを持っているので、 独自のデータベースを持たずにそれを参照するプログラムも多いです。

関連

[2] MIME Sniffing と似ていますが、 MIME Sniffing はより限定的で標準化されたものです。

メモ

[1] mod_mime_magic - Apache HTTP Server Version 2.2 ( 版) http://httpd.apache.org/docs/2.2/mod/mod_mime_magic.html