「MIMEタイプ」と「Content-type」の違い
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| MIMEタイプ | メールやホームページのファイルにくっつけて送られる「このファイルは、こんな種類のファイルですよ」な情報 |
| Content-Type | メールやホームページのファイルにくっつけて送られる「このファイルは、こんな種類のファイルですよ」な情報……と気が向いたら文字エンコードの指定(Shift_JISとかUTF-8とか)も書いてある項目 |
似ているところ
どちらも「ファイルの種類」を表す情報です。
完全に同じものと解釈する人もいます。
メールやホームページのファイルにくっついている情報です。
実際には「くっついている」と表現するよりも「一緒に送られる」と表現した方が正確かもしれませんけどね。
そこら辺は、ゆるく解釈してください。

違うところ
あくまで個人的な解釈ですが
MIMEタイプ:ファイルの種類を示す「情報」
Content-Type:ファイルの種類を示す情報を指定する「項目」
と理解しています。
メールを例に説明しますが、Content-Typeは例えば
Content-Type: text/plain; charset=iso-2022-jp
のように書きます。
全体がContent-Typeです。
Content-Typeの中に書いてある「text/plain」の部分がMIMEタイプです。
あとは文字エンコード指定の有無でしょうか。
Content-Typeには文字エンコードの指定を書けます。
Content-Type: text/plain; charset=iso-2022-jp
の「charset=iso-2022-jp」の部分です。
MIMEタイプの話では文字エンコードうんぬんは出てきません。
個人的な使い分け
「text/plain」のようなファイルの種類を示す「値そのもの」は「MIMEタイプ」と呼んでいます。
「メールヘッダが~」や「HTTPレスポンスヘッダが~」といった話で出てきた場合、ファイルの種類が書いてある「項目(の中の値)」を意図する場合は「Content-type」と呼んでいます。
ですから
text/plain
はMIMEタイプです。
Content-Type: text/plain; charset=iso-2022-jp
はContent-Typeと呼びます。
……と言うのが建前です。
実際には、あんまり使い分けを意識してなかったりします。
前後の文脈とかを見て何となく気分的にしっくりくる方を使っています。
備考
MIMEタイプとContent-typeは、区別されていないことも多いですし、区別の仕方が人によって違ったりもします。
私も、自分の区別の仕方が本当に合っているのか、自信は ありません。
わざわざページを用意しておいてなんですが、個人的には「Content-TypeとMIMEタイプの違いは、あまり気にする必要ないんじゃないかな~」と思っています。
あと、ファイルの種類を表す情報の形式は
ファイルの分類/ファイルの種類
です。
例えば「text/plain」であれば
「text」に分類される「plain」なファイル
を表現しています。

「text」はテキストです。
文字情報です。
「plain」は「飾り気のない」とか、そんな意味です。
プレーンヨーグルトのプレーンです。
つまり「text/plain」は
ふっつーのテキストファイル(中身が文字だけのファイル)
を意味しています。
「text/html」であれば
「text」に分類される「html」なファイル
を表現しています。

「text」はテキストです。
文字情報です。
「html」はHTMLです。
ホームページのファイルを作るときに使うファイルの書き方ルールです。
つまり「text/html」は
HTMLファイル(ホームページのファイル)
を意味しています。
もう1つ見てみましょう。
「image/png」です。
これは
「image」に分類される「png」なファイル
を表現しています。

「image」は画像です。
「png」はPNGです。
PNGが分からない人は「画像の種類(のひとつ)」と解釈してください。
つまり「image/png」は
PNGファイル(PNG形式の画像ファイル)
を意味しています。






