[16] [DFN[[RUBY[[[MIME]]][マイム]]]]は、[[インターネットメール]]において[[非ASCII文字]]や非テキストデータ、
[[添付ファイル]]や外部参照を記述したり、単一[[メッセージ]]を複数[[メッセージ]]に分割したりする一連の[[メッセージ]]構文仕様です。

[36] [[MIME]] は [[RFC 822]] により規定される[[電子メール]]の[[メッセージ]]形式の上位層として使用する追加のプロトコルとして定義されていますが、
現在では常に併用される[[電子メール]]プロトコル群の一部分となっています。

[37] また [[MIME]] の定義する機能の一部または全部を [[Web]] をはじめとする[[電子メール]]以外の[[プロトコル]]も利用しています。

* 呼称

[53] [[Bruce Lilly]] は、 [[ietf-822]] に送った記事
<mid:3E46CDE6.2060209@Sonietta.blilly.com> で、 ''[[MIME]]''
はどう発音するのかとたずねました。
:Ned           :Nathaniel は英単語 [[mime]] の発音 (''マイム'') だし、僕もそうしてきたさ。綴りで (''エム・アイ・エム・エー'') 読む人もちょっといたけど、ちょっとだけさ。
:[[Keith Moore]]:''MIME'' って略語は発音出来る様に選んだんだし。
:Bruce Lilly   :それじゃあ、 RFC 2047 第3節の次の箇所は間違いですよね。
>the character set names allowed in ''an'' MIME "charset" parameter of a

:Keith Moore   :あちゃー。こりゃあ直して [[Proposed Standard]] からやり直さないとあかんなあ。
:Paul Smith    :''(w'' が抜けてます。。。

[54] 
蛇足ながら解説をば。 [[IETF]] の[[標準化過程]]では、提案標準 (Proposed)→素案標準 (Draft)→(完全)標準 (Full) と進みますが、現在 MIME (RFC 2045〜) は素案標準の段階です。

[55] 
ですからこのままうまくいけば、次の [[RFC]] (出るのか不明ですが。) では MIME も晴れて full standard に昇格できるはずです。しかし、改訂の際に仕様に大きな変更が入った場合は、提案標準に差し戻されます。

[56] 
ですから、ここで Bruce から''重大''な誤りを指摘されて、 Keith はまた一からやり直しか〜(wと嘆いていた(嘘)のです。解説終わり。








* 範囲の拡大

[19] [[MIME]] はその名の通り本来は[[電子メール]]のための仕様でしたが、
徐々にその適用範囲と意味が拡大しています。

[22] [[MIME]] は当初から[[電子メール]]だけでなく、ほぼ同じメッセージ形式を採用していた[[ネットニュース]]
([[USENET]]) も想定範囲となっていました。

[29] [[MIME]] はこれら以外の [[HTTP]]、[[SIP]]、[[BEEP]] などの[[プロトコル]]にも拡大されていきました。
ただしその際に元の [[MIME]] の意味や構文が少しずつ変形されていきました。

[30] [[MIME]] の [[Base64]] は、 (そもそも [[MIME]] 以前からあったのですが)
[[MIME]] の他の機能を使っていない様々な場面でも使われるようになりました。
そのような場面では、俗に「[[MIME]]」という名称で実は [[Base64]] を指していることがあります。

[31] [[MIME]] の[[媒体型]]は俗に [[MIME型]]、あるいは更に略されて [[MIME]]
と呼ばれるようになり、「[[MIME]]」という用語が本来の [[MIME]] よりも 
[[MIME型]]のことを指していることが多いとすら思われます。 [[MIME型]]は[[インターネット]]等相当広範囲で用いられています。

* 概念

[FIG(middle list)[
- [[MIME用語の定義]]
- [[MIME適合性]]
- [[実体]]
- [[MIMEヘッダー]]
-- [CODE(MIME)@en[[[Content-Type:]]]]
-- [CODE(MIME)@en[[[Content-Transfer-Encoding:]]]]
-- [CODE(MIME)@en[[[Content-Description:]]]]
-- [CODE(MIME)@en[[[Content-ID:]]]]
-- [CODE(MIME)@en[[[Content-Disposition:]]]]
-- [CODE(MIME)@en[[[Content-Duration:]]]]
-- [CODE(MIME)@en[[[Content-Language:]]]]
-- [CODE(MIME)@en[[[Content-MD5:]]]]
- [[MIME型]]
-- [CODE(MIME)@en[[[application/*]]]]
--- [CODE(MIME)@en[[[application/octet-stream]]]]
-- [CODE(MIME)@en[[[audio/*]]]]
-- [CODE(MIME)@en[[[image/*]]]]
-- [CODE(MIME)@en[[[message/*]]]]
--- [CODE(MIME)@en[[[message/rfc822]]]]
--- [CODE(MIME)@en[[[message/partial]]]]
--- [CODE(MIME)@en[[[message/external-body]]]]
-- [CODE(MIME)@en[[[multipart/*]]]]
--- [CODE(MIME)@en[[[multipart/mixed]]]]
--- [CODE(MIME)@en[[[multipart/alternative]]]]
--- [CODE(MIME)@en[[[multipart/parallel]]]]
--- [CODE(MIME)@en[[[multipart/related]]]]
-- [CODE(MIME)@en[[[text/*]]]]
--- [CODE(MIME)@en[[[text/plain]]]]
--- [CODE(MIME)@en[[[text/richtext]]]]
--- [CODE(MIME)@en[[[text/enriched]]]]
-- [CODE(MIME)@en[[[video/*]]]]
- [[MIME charset]]
-- [CODE(charset)@en[[[US-ASCII]]]]
-- [CODE(charset)@en[[[ISO-8859-*]]]]
- [[内容転送符号化]]
-- [CODE(MIME)@en[[[Base64]]]] / [[B符号化]]
-- [CODE(MIME)@en[[[Quoted-Printable]]]] / [[Q符号化]]
- [[引数 (MIME)]]
- [CODE(ABNF)@en[[[encoded-word]]]]
- [[PGP/MIME]]
- [[S/MIME]]
- [[MHTML]]
- [CODE(URI)@en[[[cid:]]]]
- [[HTTP実体とMIME実体]]
- [[MIMEの正規符号化モデル]] Canonical Encoding Model
]FIG]

* 仕様書


** MIME の本体

*** 第1世代

[40] [DFN[RFC 1341]] <urn:ietf:rfc:1341>

MIME (Multipurpose Internet Mail Extensions): Mechanisms for
Specifying and Describing the Format of Internet Message Bodies. N.
Borenstein, N. Freed. June 1992. (Format: TXT=211117, PS=347082,
PDF=192244 bytes) (Obsoleted by RFC1521) (Status: PROPOSED STANDARD)

[41] [[RFC1342]] <urn:ietf:rfc:1342>


*** [[RFC1521]] <urn:ietf:rfc:1521>

1521 MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms
[PRE[
     for Specifying and Describing the Format of Internet Message Bodies.
     N. Borenstein, N. Freed. September 1993. (Format: TXT=187424,
     PS=393670, PDF=205091 bytes) (Obsoletes RFC1341) (Obsoleted by
     RFC2045, RFC2046, RFC2047, RFC2048, RFC2049) (Updated by RFC1590)
     (Status: DRAFT STANDARD)
]PRE]


*** [[RFC1522]] <urn:ietf:rfc:1522>

1522 MIME (Multipurpose Internet Mail Extensions) Part Two: Message
[PRE[
     Header Extensions for Non-ASCII Text. K. Moore. September 1993.
     (Format: TXT=22502 bytes) (Obsoletes RFC1342) (Obsoleted by RFC2045,
     RFC2046, RFC2047, RFC2048, RFC2049) (Status: DRAFT STANDARD)
]PRE]

1590 Media Type Registration Procedure. J. Postel. March 1994.
[PRE[
     (Format: TXT=13044 bytes) (Obsoleted by RFC2045, RFC2046, RFC2047,
     RFC2048, RFC2049) (Updates RFC1521) (Status: INFORMATIONAL)
]PRE]


*** [[RFC2045]] <urn:ietf:rfc:2045>

2045 Multipurpose Internet Mail Extensions (MIME) Part One: Format of
[PRE[
     Internet Message Bodies. N. Freed, N. Borenstein. November 1996.
     (Format: TXT=72932 bytes) (Obsoletes RFC1521, RFC1522, RFC1590)
     (Updated by RFC2184, RFC2231) (Status: DRAFT STANDARD)
]PRE]


*** [[RFC2046]] <urn:ietf:rfc:2046>

2046 Multipurpose Internet Mail Extensions (MIME) Part Two: Media
[PRE[
     Types. N. Freed, N. Borenstein. November 1996. (Format: TXT=105854
     bytes) (Obsoletes RFC1521, RFC1522, RFC1590) (Updated by RFC2646)
     (Status: DRAFT STANDARD)
]PRE]


*** [[RFC2047]] <urn:ietf:rfc:2047>

2047 MIME (Multipurpose Internet Mail Extensions) Part Three: Message
[PRE[
     Header Extensions for Non-ASCII Text. K. Moore. November 1996.
     (Format: TXT=33262 bytes) (Obsoletes RFC1521, RFC1522, RFC1590)
     (Updated by RFC2184, RFC2231) (Status: DRAFT STANDARD)
]PRE]


*** [[RFC2048]] <urn:ietf:rfc:2048>

2048 Multipurpose Internet Mail Extensions (MIME) Part Four:
[PRE[
     Registration Procedures. N. Freed, J. Klensin, J. Postel. November
     1996. (Format: TXT=45033 bytes) (Obsoletes RFC1521, RFC1522, RFC1590)
     (Updated by RFC3023) (Also BCP0013) (Status: BEST CURRENT PRACTICE)
]PRE]


*** [[RFC2049]] <urn:ietf:rfc:2049>

2049 Multipurpose Internet Mail Extensions (MIME) Part Five:
[PRE[
     Conformance Criteria and Examples. N. Freed, N. Borenstein. November
     1996. (Format: TXT=51207 bytes) (Obsoletes RFC1521, RFC1522, RFC1590)
     (Status: DRAFT STANDARD)
]PRE]


** 部分改訂

2184 MIME Parameter Value and Encoded Word Extensions: Character Sets,
[PRE[
     Languages, and Continuations. N. Freed, K. Moore. August 1997.
     (Format: TXT=17635 bytes) (Obsoleted by RFC2231) (Updates RFC2045,
     RFC2047, RFC2183) (Status: PROPOSED STANDARD)
]PRE]

2231 MIME Parameter Value and Encoded Word Extensions: Character Sets,
[PRE[
     Languages, and Continuations. N. Freed, K. Moore. November 1997.
     (Format: TXT=19280 bytes) (Obsoletes RFC2184) (Updates RFC2045,
     RFC2047, RFC2183) (Status: PROPOSED STANDARD)
]PRE]


** 周辺仕様

[42] [CITE@en[RFC 1344 - Implications of MIME for Internet Mail Gateways]], [TIME[2021-01-31T09:08:15.000Z]], [TIME[2021-03-13T09:50:10.041Z]] <https://tools.ietf.org/html/rfc1344>

[43] [CITE@en[RFC 1820 - Multimedia E-mail (MIME) User Agent Checklist]], [TIME[2021-02-01T01:07:08.000Z]], [TIME[2021-03-20T09:55:11.086Z]] <https://tools.ietf.org/html/rfc1820>

[44] [CITE@en[RFC 1844 - Multimedia E-mail (MIME) User Agent Checklist]], [TIME[2021-01-31T11:07:56.000Z]], [TIME[2021-03-20T10:04:23.670Z]] <https://tools.ietf.org/html/rfc1844>

* MIME 以前

- [[RFC934]]
- [[RFC1049]]
- [[RFC1154]]

- [[RFC1345]]
- [[draft-ietf-822ext-qreadable]] <urn:ietf:id:draft-ietf-822ext-qreadable-02>
-- [[Content-Type:領域]] (古い定義を参照)
-- Content-Charset:領域
-- Mnemonic-Intro:領域
-- Orig-Content-Charset:領域

- [[ASCII Armor]]
- [[JUNETコード]]


* MIME を使ったプロトコル

** MIME をそのまま使ったプロトコル

[11] 本家である[[電子メール]] ([[インターネットメール]]) の他、
いくつかの[[プロトコル]]が [[MIME]] を採用しています。 (ただし現在まで広く使われているのは[[インターネットメール]]だけで、
それ以外は[[プロトコル]]自体が廃れてしまっています。)

[FIG(table)[
:p:[[プロトコル]]
:s:[[仕様書]]
:d:概略
:t:[[転送路]]

:p:[8] [[電子メール]] - 伝統的な [[SMTP]] - [CODE(MIME)@en[[[message/rfc822]]]]
:s: [[RFC 822]], [[RFC 2822]], [[RFC 5322]]
:d:[[MIME]] 規格本体で規定されています ([[RFC 2045]])。
:t:[CODE(MIME)@en[[[7bit]]]]

:p:[[電子メール]] - [[SMTP]] [[8bit-MIMEtransport]]
:t:[CODE(MIME)@en[[[8bit]]]]

:p: [[電子メール]] - [CODE(MIME)@en[[[message/global]]]]
:s: [[RFC 5335]], [[RFC 6532]]
:t: [CODE(MIME)@en[[[8bit]]]]

:p: [[電子メール]] - [[BINARYMIME]]
:t: [CODE(MIME)@en[[[binary]]]]

:p: [[デコレーションメールテンプレート]]
:t: [CODE[7bit]]
:d:[[KDDI]]

:p:[9] [[電子ニュース]]
:s: [[son-of-RFC 1036]], [[Usefor]]
:d:MIME は一応電子ニュースも視野に入れていました。
実際にニュースでもよく使われます。
:t:[[NNTP]] では [CODE(MIME)[[[8bit]]]]

:p: [[mbox]]
:t: [CODE[binary]]

:p: [[MMS]] ([CODE(MIME)@en[[[application/vnd.wap.mms-message]]]])
:t: [CODE(MIME)@en[[[binary]]]]

:p:[10] [[辞書サービスプロトコル]]
:s: [[RFC 2229]]
:d:[CODE[[[OPTION]] [[MIME]]]] では MIME が使われます。
:t:[CODE(MIME)[[[8bit]]]]

:p:[[CIP]]
:s: [[RFC 2653]]
:d:
:t:?

:p:[17] [[CPIM]]
:s: [[RFC 3862]]
:d:[CODE(MIME)[[[message/cpim]]]] の2番目の部分は MIME
が使われます。
:t:?

:p: [47] [[XMPP]] [CODE[e2e]] [[要素]]
:s: [[RFC 3923]]
:t: [CODE[binary]]
(仕様の規定。[[署名]]時は実際には [[XMLテキスト][PCDATA]])
:d: [[S/MIME]]

:p:[18] [[MTQP]]
:s: [[RFC 3887]]
:d:[CODE[[[TRACK]]]] 命令の応答に MIME が使われます。
:t:[CODE(MIME)[[[8bit]]]]

:p:[[BEEP]]
:t:[CODE(MIME)@en[[[binary]]]]

:p:[CODE(MIME)@en[[[application/vnd.pwg-multiplexed]]]]
:t:[CODE(MIME)@en[[[binary]]]]

:p: 
[46] [[SDML]]
:t: [[XMLテキスト][PCDATA]]
:d: [CODE[<[[adata]] encoding="mime">]] の[[要素の内容]] [SRC[>>45]]


:p:
[[Mozilla Thunderbird]]
の[[フィードリーダー]]が[[エントリー]]から生成した[[メッセージ]]
:t: [CODE[8bit]]

:p:
[[DDIポケット]]の[[オープンネットコンテンツ]]のキャリア運用の中継サーバーと端末の間の[[インターネットメール]]風メッセージ
:s:>>50


]FIG]

[49] 間接的に利用できる形式について、[[インターネットメールメッセージ]]も参照。

[REFS[
- [45] [CITE[[[SDML]] - Signed Document Markup Language - Version 2.0]], [TIME[2017-10-02T10:21:51.000Z]], [TIME[2021-04-14T11:54:33.954Z]] <https://www.w3.org/TR/1998/NOTE-SDML-19980619/#SECTION0053401>
-
[50] 
[CITE[Wayback Machine]], [TIME[2023-07-31T13:42:37.000Z]] <https://web.archive.org/web/20041003012637/http://www.ddipocket.co.jp/p_s/service/open_net/download/oncm211.pdf>



]REFS]

** [12] MIME に似たものを使ったプロトコル

[33] [[HTTP]] は [[MIME]] と似たものを使っていますが、[[電子メール]]と [[HTTP]]
とでは様々な性質が異なるとして、色々な差異が存在しています [SRC[>>13]]。

[REFS[
- [32] [CITE@en[RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content]] ([TIME[2014-08-07 05:54:02 +09:00]] 版) <https://tools.ietf.org/html/rfc7231#appendix-A>
]REFS]

[34] [[HTTP]] から派生した[[プロトコル]]をはじめ、 [[MIME]]
と似て非なる[[プロトコル]]が他にも多々あります。

[FIG(table)[
:p:[[プロトコル]]
:d:概略
:t:[[転送路]]

:p:[13] [[HTTP]] ([[RFC 1945]], [[RFC 2068]], [[RFC 2616]], [[RFC 723x]], [[RFC 7540]])
:d:MIME を基にしています (が MIME そのものではありません)。
現在となっては本家を超えて最も広く使われている“MIME”かもしれません。
:t:[CODE(MIME)[[[binary]]]]

:p:[14] [[RTSP]] ([[RFC 2326]])
:d:HTTP を基にしています (が HTTP そのものではありません)。
:t:[CODE(MIME)[[[binary]]]]

:p:[15] [[SIP]] ([[RFC 2543]], [[RFC 3261]])
:d:HTTP を基にしています (が HTTP そのものではありません)。
:t:[CODE(MIME)[[[binary]]]]

:p:[[S-HTTP]]
:d:HTTP を基にしています (が HTTP そのものではありません)。
:t:[CODE(MIME)[[[binary]]]]

:p:[26] [[MMS]]
:d:[[RFC 822]]・[[RFC 2616]] をもとにしていて、
[CODE(MIME)@en[[[Content-Type]]]] も使えます。
:t:?

:p:[27] [[MRCP]] ([[RFC 4463]])
:t:?

:p:[[Q4S]]
:t:[CODE(MIME)[[[binary]]]]

:p:[[ICAP]]
:t:[CODE(MIME)[[[binary]]]]

:p:[23] [[MSRP]] ([[RFC 4975]])
:d:[[RFC 822]]/[[MIME]] もどきなメッセージの書式を使いますが、[[本体]]を含む場合、
[[MIME]] が用いられます。ただし、[[頭欄]]の構文に若干の (実用上は影響しない程度の) 違いがあります。
:t:?

:p:[24] [[POファイル]]
:d:実際には [[MIME]] ではありませんが、 [[MIME]]
風の[[ヘッダー]]のようなものを記述することになっています。
:t:?
]FIG]

** MIME 型を使うプロトコル

[39] [[MIME型]]参照。

* メモ

- [1] [WEAK[2002-12-05 (木) 20:46]] ''[[名無しさん]]'': 20:46 なので age
- [2] ''TEXT version of Draft RFC'' <http://www.imc.org/ietf-822/old-archive1/msg00061.html> 一番最初の MIME draft? (91/4)
- [3] MIME は設計時は (7ビット) [[SMTP]] を念頭に置きながらも、8ビット転送やバイナリ転送も考慮に入れ、それなりに汎用性を持たせたつもりだったんでしょう。時代が変わって8ビットが当たり前で、めいるの規格上だけが7ビットの現在、時代錯誤な MIME の規定をニュース向けにはねじまげようと [[CharlesLindsey]] は頑張ってます。彼曰く、 [[HTTP]] だってそうしただろう、と。 MIME'r 
- [4] の言い分では、 HTTP は仕方なかったんだ、失敗だった (標準化以前にどんどん実装が進んじゃったんだから仕方ないよねぇ。) だけどこれ以上 MIME variant を増やして複雑化させるな、と。
- [5] >>3-4 どっちの言い分も分かるんだけど、ニュース版 MIME はちょっとこじつけの感があるし、実際ほとんどの MIME 実装は7ビットなメイル MIME で実装してる (ニュース向けにも。) 以上、混乱は必死だろうし。
- [6] >>3-5 HTTP MIME がメイル MIME と随分仕様が違うのは HTTP<=>メイル関門なんて存在しないから問題にならないけど、メイル<=>ニュースは大問題だしね。
- [7] >>3-6 いっそぼろぼろの MIME なんてやめて、 (822 を捨てた [[CPIM]] みたいに) 1からやりなおしたら、とも思うんだけど、 CPIM だって MIME を使うんだよなあ。 

[20]
インターネット[[媒体型]]のことを [Q@en[MIME]] と呼ぶのは完全な誤りです。
[Q[[[MIME型]]]]と呼ぶなら (よくないけど) まだしも。

([[名無しさん]] [sage])

[21]
[[RFC 2048]] (登録手続き) は改訂され、
[DFN[RFC 4289]] ([[MIME]] の登録手続き) と
[[RFC 4288]] ([[媒体型]]の登録手続き)
になりました。どちらも [[BCP 13]] のようです。

([[名無しさん]] [WEAK[2005-12-21 08:43:47 +00:00]])

- [48] [CITE@en[[[RFC 4289]]: Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures]], [TIME[2021-08-02T11:47:33.000Z]] <https://www.rfc-editor.org/rfc/rfc4289.html>


[25] [CITE@ja[トルカ | サービス・機能 | NTTドコモ]]
([TIME[2010-01-20 14:42:39 +09:00]] 版)
<http://www.nttdocomo.co.jp/service/imode/make/content/toruca/index.html>

[28] [CITE[mozilla-comm/jsmime]]
( ([TIME[2014-04-15 09:11:18 +09:00]] 版))
<https://github.com/mozilla-comm/jsmime>

[35] [CITE@en[RFC 5536 - Netnews Article Format]]
( ([TIME[2014-09-21 18:14:06 +09:00]] 版))
<http://tools.ietf.org/html/rfc5536#section-2.3>

[38] [CITE@en[RFC 5703 - Sieve Email Filtering: MIME Part Tests, Iteration, Extraction, Replacement, and Enclosure]]
([TIME[2015-05-31 17:24:06 +09:00]] 版)
<https://tools.ietf.org/html/rfc5703>


[51] [CITE@en[History for draft-nicol-mime-header-type -00]], [TIME[2025-06-16T15:45:36.000Z]] <https://datatracker.ietf.org/doc/draft-nicol-mime-header-type/history/>


[52] >>51 履歴だけでファイルが現存しない。Web検索でも出てこない。