web-dev-qa-db-ja.com

MIMEタイプとは何ですか?

私はプラグインの構築方法について読んでおり、この「MIMEタイプ」について議論を続けています。その多目的インターネットメール拡張機能(MIME)を調べて知ることを試みましたが、ブラウザに関連する適切な説明はありませんプラグインを作成するためにプラグインについて知っておく必要があるようなプラグインが提供されています。明確でシンプルな言葉で説明してください。なに?プラグインにMIMEタイプがあるのはなぜですか?

196

MIMEタイプは、データのタイプを識別するために使用されるラベルです。ソフトウェアがデータを処理する方法を知ることができるように使用されます。インターネット上で、Microsoft Windows上でファイル拡張子が行うのと同じ目的を果たします。

サーバーが「これはtext/htmlです」と言うと、クライアントは「ああ、これはHTMLドキュメントです。内部でレンダリングできます」、サーバーが「これはapplication/pdf」と言うと、クライアントは「ああ、FoxIt PDF Readerプラグインを起動する必要があります。このプラグインは、ユーザーがインストールし、それ自体をapplication/pdfハンドラーとして登録しています。」

最も一般的には、HTTPメッセージのヘッダー(HTTPサーバーが応答するコンテンツを記述するため、またはリクエストでPOSTされるデータのフォーマットを記述するため)および電子メールヘッダー(メッセージのフォーマットを記述するために、添付ファイル)。

520
Quentin

MIMEMulti-purpose Internet Mail Extensionsを表します。 MIMEタイプは、インターネット上のファイルタイプを分類する標準的な方法を形成します。 WebサーバーやブラウザなどのインターネットプログラムにはすべてMIMEタイプのリストがあるため、どのオペレーティングシステムで作業していても、同じタイプのファイルを同じ方法で転送できます。

MIMEタイプには、typesubtypeの2つの部分があります。それらはスラッシュ(/)で区切られます。たとえば、Microsoft WordファイルのMIMEタイプはapplicationで、サブタイプはmswordです。合わせて、完全なMIMEタイプはapplication/mswordです。

MIMEタイプの完全なリストがありますが、ファイルに関連付けられている拡張子やファイルタイプの説明はリストされていません。これは、特定の種類のファイルのMIMEタイプを見つけたい場合、それが難しいことを意味します。リストを調べて、関心のあるファイルのMIMEタイプを推測する必要がある場合があります。

45
AVI

MIMEはMultipurpose Internet Mail Extensionsの略です。これは、インターネット上のファイルをその性質と形式に従って識別する方法です。

たとえば、HTTP応答で定義されたContent-typeヘッダー値を使用すると、ブラウザは適切な拡張子を持つファイルを開くことができます/プラグイン

インターネットメディアタイプ(またContent-type)はaと同じですMIMEタイプ。 MIMEタイプは元々、SMTPプロトコルを使用して送信されるemails向けに作成されました。現在、この標準は他の多くのプロトコルで使用されているため、新しい命名規則「インターネットメディアタイプ」が使用されています。

MIMEタイプは、typesubtypeの2つの部分で構成される文字列識別子です。

  • 「タイプ」とは、互いに密接に関連する多くのMIMEタイプの論理的なグループを指します。高レベルのカテゴリにすぎません。
  • 「サブタイプ」は、「タイプ」内の1つのファイルタイプに固有です。

MIMEサブタイプのx-プレフィックスは、単に非標準であることを意味します。
vndプレフィックスは、MIME値がベンダー固有であることを意味します。

ソース

25
Premraj

ウィキペディアよりもうまく説明できませんでした: http://en.wikipedia.org/wiki/MIME_type

電子メールアプリケーションに加えて、WebブラウザはさまざまなMIMEタイプもサポートしています。これにより、ブラウザはHTML形式ではないファイルを表示または出力できます。

IOW、ブラウザー(またはブラウザーではないため、コンテンツコンシューマー)が消費しようとしているコンテンツを判断するのに役立ちます。これは、ブラウザがコンテンツの表示に使用する正しいプラグインを決定できるか、メディアプレーヤーが正しいコーデックまたはプラグインをロードできることを意味します。

9
slugster

類推による説明

ペンフレンドに手紙を書いたが、毎回異なる言語で書いたと想像してください。

たとえば、最初の文字をタミル語で、2番目の文字をドイツ語などで書くことを選択したかもしれません。

友だちがこれらの文字を翻訳するには、友だちが(i)言語の種類を特定し、(ii)それに応じて翻訳する必要があります。しかし、言語の特定はそれほど簡単ではありません-多くの計算エネルギーが必要になります。送信する言語を手紙の上に書いておくとはるかに簡単になります。これにより、友人の生活がずっと楽になります。

そのため、あなたが書いている言語を強調するために、あなたは手紙の上にその言語(例えば「フランス語」)に簡単に注釈を付けます。

An Example of a letter

あなたの友人は、あなたがあなたの手紙の上部に指定している異なる言語タイプをどのように知っているか、読んだり、区別したりできますか?それは簡単です:あなたは事前にこれに同意します。

類推をHTMLに戻す

HTMLでも同じです。インターネット経由で送信する必要のあるデータ形式にはさまざまな種類があるため、事前にデータ型を指定すると、対応するクライアントがユーザーに応じてデータを適切に解釈およびレンダリングできます。データ形式が異なるのはなぜですか?主に、それらが異なる目的を果たし、異なる能力を持っているからです。

たとえば、PDF形式は、音声形式とは異なる画像形式とは非常に異なります。どちらも非常に異なる目的を果たすため、インターネット経由で送信される前に異なる形式で記述されます。

5
BKSpurgeon