メディアタイプ

提供: miniwiki
2018/8/11/ (土) 00:53時点におけるAdmin (トーク | 投稿記録)による版 (1版 をインポートしました)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索


メディアタイプは、ファイルやインターネット上で転送されるコンテンツの形式を表現する識別子である。MIMEタイプ要素タイプ (Content type)[1]とも表記される。text/plainのように、スラッシュで区切る表記が特徴的である。

公式には、IANAがメディアタイプを管理している。 メディアタイプは、RFC 2045 のMIMEの仕様の一部として定義されたことが起源である。RFC 2045 では、電子メールの本文や添付ファイルの種類の記述に使用しており[2]、MIMEタイプと呼称された。その後、HTTP[3]などその他のインターネットプロトコルや、HTML[4]のようなファイル形式でも同様の目的に使用されるようになっていった。

名称について

HTMLおよび関連する仕様では、このメディアタイプを指す用語としてMIMEタイプ(MIME type)を用いている。この理由は、CSSメディアクエリにおける「メディアタイプ」との混同を避けるためである[5]

命名規則

メディアタイプは、トップレベルタイプとサブタイプ、そして非必須のパラメーターの組み合わせで構成される。

たとえば、とあるHTMLファイルについてtext/html; charset=UTF-8というメディアタイプが付与されたとする。この例では、textがタイプ、htmlがサブタイプ、charset=UTF-8が文字コードを表すパラメーターである。

サブタイプは「ツリー」または「ファセット」と呼ばれるさらなる分類がなされる。

構文:

  • トップレベルタイプ名 / サブタイプ名 [ ; パラメーター ]
  • トップレベルタイプ名 / [ ツリー. ] サブタイプ名 [ +サフィックス ] [ ; パラメーター ]

現在登録されているトップレベルタイプ名はapplicationaudioexamplefontimagemessagemodelmultiparttextvideoである。

非公式なトップレベルタイプ名としてchemicalが存在する[6]

パラメーターは複数付与する場合もある。例: text/plain; charset=iso-2022-jp; format=flowed; delsp=yes

主な例

  • application/javascript
  • application/json
  • application/x-www-form-urlencoded
  • application/xml
  • application/zip
  • application/pdf
  • audio/mpeg
  • audio/vorbis
  • multipart/form-data
  • text/css
  • text/html
  • text/plain
  • image/png
  • image/jpeg
  • image/gif

登録ツリー

すべてのメディアタイプは、IANAの登録手続きを経て登録されるべきとされる。個々のサブタイプ名は、ツリーに分類されて登録されることがある。この場合、サブタイプ名に"ツリー."プレフィックスが付与されたものとなる。現在、次のツリーが存在する: 標準、ベンダー、パーソナル、私的利用。これらのツリーは1996年11月の RFC 2048 で最初に定義された(現在は RFC 6838 に置き換えられている)。ツリーによって登録の手続きに差異がある。

登録ツリーそのものの追加が必要な場合、IETFの標準化作業によって決定される。

標準ツリー

標準ツリーに属するメディアタイプは、プレフィックスを持たない[7]

標準ツリーへの追加には、IESGで承認を受けたIETF仕様またはIANAが認める標準化を行う団体からの登録のいずれかが必要である。

構文: type / メディアタイプ名 [+サフィックス]

例: application/xhtml+xml、image/png

ベンダーツリー

ベンダーツリーは、公開されている製品に関連するメディアタイプで用いられる。vnd.ファセットが用いられる[7]

この文脈では、ベンダー(販売元)と開発元は同義である。すなわち、非営利な団体・コンソーシアムであっても、自身が開発したデータ形式についてベンダーツリーへの登録申請が可能である。

また、ベンダーツリーへの登録は、必ずしもベンダーや開発元によって申請される必要は無く、メディアタイプの登録を望む第3者が申請しても良い。ただしその場合でも、登録対象のタイプは、それに関するソフトウェアのベンダー・組織に属することになり、ベンダー・組織はいつでもそのタイプに対する所有権を表明できる。

構文:

  • type / vnd. メディアタイプ名 [+サフィックス] - 製作元が著名な場合
  • type / vnd. 製作元の名称 . メディアタイプ名 [+サフィックス] - 製作元の名称はIANAに承認される必要がある
  • type / vnd. 製作元の名称 . 製品名 . メディアタイプ名 [+サフィックス] - 製作元の名称と製品名はIANAに承認される必要がある

パーソナルツリー

パーソナルツリーは、実験的なタイプや商業的に頒布される製品に関係しないタイプを含む。prs.ファセットが用いられる。

構文: type / prs. メディアタイプ名 [+サフィックス]

未登録なものを表すx.ツリー

"x."ツリーは、私的利用であったり外部に公開しない環境で当事者同士の積極的な合意の下での利用であったりする場合に用いられる。このツリーでの登録は受け付けられていない。

未登録で使用できるメディアタイプの命名規則は以下のように変遷している。

  • 当初、RFC 1590 とRFC 1521 では、"x-"で始まるサブタイプを登録不要・私的利用としていた。
  • RFC 2048 では、極めて稀な場合として、必要に応じて、私的利用・実験的な用途で"x-"と"."で始まる名前を使用して良いが、なるべく避けるべきとしていた。
  • RFC 6838 では、私的利用に"x."ツリーが用意されているが、使用は極めて避けるべきとされている。また、"x-"で始まるサブタイプは登録不要・私的利用ではないこととなった。

登録不要のメディアタイプ名を使用するのではなく、できるだけ登録されるべきとされている。このため、ベンダーツリー・パーソナルツリーへの登録手続きは簡略化されている。もちろん、標準化団体の標準化手順を通して、標準ツリーへの登録を申請しても良い。

広く運用されているメディアタイプ("x-"プレフィックスを持つファセットのないサブタイプ)で未登録のものについては、可能な限り適切なファセット付きのサブタイプ名で登録し直すべきとされている。それが困難な場合、メディアタイプのレビューアとIESGの承認の後、ファセットのない名称のままの登録も可能である。

  • ファセット付きで登録し直された例: image/x-iconimage/vnd.microsoft.icon
  • ファセット無しで登録し直された例: application/x-gzipapplication/gzip
  • あまりに広範に使用されているため、"x-"付きのまま登録された例: application/x-www-form-urlencoded[8]

構文: type / x. メディアタイプ名 [+サフィックス]

サフィックス

サフィックスは、登録対象のメディアタイプにおいて、基礎となる構造をメディアタイプの命名に加えるものである。著名な構造を持つメディアタイプについては、IANAに登録されている適切な"+suffix"を登録時に付与すべきとされている。未登録のサフィックスは使用すべきではない。サフィックスの登録手続きも RFC 6838 で定められている。

現在登録されているサフィックスは、次のとおりである。

  • RFC 6839
    • +xml
    • +json
    • +ber
    • +der
    • +fastinfoset
    • +wbxml
    • +zip
  • RFC 7049
    • +cbor

+xmlのサフィックスは2001年1月の RFC 3023 から定義されている。ただし、正式な登録は RFC 6839 からである。

脚注

  1. MIMEやHTTPではContent-Typeヘッダーで使用されるため。
  2. Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies”. Internet Engineering Task Force (1996年11月). . 2015閲覧.
  3. Hypertext Transfer Protocol -- HTTP/1.0” (1996年5月). . 2017閲覧.
  4. HTML 4.01 Specification” (1999年12月24日). . 2017閲覧.
  5. MIME Sniffing Standard” (英語). WHATWG. . 2017閲覧. “A MIME type is sometimes called an Internet media type in protocol literature, but consistently using the term MIME type avoids confusion with the use of "media type" as described in the Media Queries CSS specification.”
  6. Daniel Leidert, Egon Willighagen (2007年). “The chemical-mime-data project”. 2016年10月8日時点のオリジナルよりアーカイブ。. 2016閲覧.
  7. 7.0 7.1 Freed, N.. Media Type Specifications and Registration Procedures. RFC6838. Internet Engineering Task Force (IETF). ISSN 2070-1721. https://tools.ietf.org/html/rfc6838 . 2015閲覧.. 
  8. Berjon, Robin (2014年5月14日). “application/x-www-form-urlencoded” (英語). IANA. . 2017閲覧.

関連項目

外部リンク