メインコンテンツまでスキップ

4. 登録要件 (Registration Requirements)

すべてのメディアタイプ登録は、以下のセクションで定められたさまざまな要件に準拠することが期待されます。要件の詳細は、以下のセクションで詳しく説明されているように、登録ツリーによって異なる場合があることに注意してください。

4.1 機能要件 (Functionality Requirement)

メディアタイプは、実際のメディアフォーマットとして機能しなければなりません (MUST)。転送エンコーディング (Transfer Encoding)、文字セット (Charset)、または別のタイプの個別エンティティのコレクションとして考えた方が良いものの登録は許可されません。たとえば、base64 転送エンコーディング [RFC2045] をデコードするアプリケーションは存在しますが、base64 をメディアタイプとして登録することはできません。

この要件は、関与する登録ツリーに関係なく適用されます。

4.2 命名要件 (Naming Requirements)

登録されたすべてのメディアタイプには、トップレベルタイプ (Top-Level Type) とサブタイプ (Subtype) 名が割り当てられなければなりません (MUST)。これらの名前の組み合わせは、メディアタイプを一意に識別するのに役立ち、サブタイプ名のファセット (またはその欠如) は登録ツリーを識別します。トップレベルタイプとサブタイプ名の両方は、大文字小文字を区別しません。

タイプ名とサブタイプ名は、以下の ABNF に準拠しなければなりません (MUST):

type-name = restricted-name
subtype-name = restricted-name

restricted-name = restricted-name-first *126restricted-name-chars
restricted-name-first = ALPHA / DIGIT
restricted-name-chars = ALPHA / DIGIT / "!" / "#" /
"$" / "&" / "-" / "^" / "_"
restricted-name-chars =/ "." ; 最初のドット前の文字は常に
; ファセット名を指定します
restricted-name-chars =/ "+" ; 最後のプラス後の文字は常に
; 構造化構文サフィックスを指定します

この構文は、[RFC2045] のセクション 5.1 または [RFC4288] のセクション 4.2 の ABNF で許可されているものよりもやや制限的であることに注意してください。また、この構文は最大 127 文字の名前を許可しますが、実装の制限により、そのような長い名前は問題となる可能性があります。このため、<type-name><subtype-name> は 64 文字に制限すべきです (SHOULD)。

4.2.1 テキストメディアタイプ (Text Media Types)

「text」トップレベルタイプは、主にテキスト形式の素材を送信することを目的としています。

text の多くのサブタイプ、特に [RFC2046] で定義されているプレーンテキストの汎用サブタイプである「text/plain」サブタイプを含むものは、「charset」パラメータを定義します。特定の text のサブタイプに「charset」パラメータが定義されている場合、[RFC2978] で定められた手続きに従って定義された文字セット名を指定するために使用しなければなりません (MUST)。

4.2.2 画像メディアタイプ (Image Media Types)

「image」のトップレベルタイプは、コンテンツが 1 つ以上の個別の画像を指定することを示します。サブタイプは、特定の画像形式の名前を示します。

4.2.3 音声メディアタイプ (Audio Media Types)

「audio」のトップレベルタイプは、コンテンツが音声データを含むことを示します。サブタイプは、特定の音声形式の名前を示します。

4.2.4 動画メディアタイプ (Video Media Types)

「video」のトップレベルタイプは、コンテンツが時間変化する画像、場合によっては色と協調した音を指定することを示します。「video」という用語は、特定の技術または形式を参照するのではなく、最も一般的な意味で使用され、コンパクトにエンコードされたアニメーション描画などのサブタイプを排除することを意図していません。

4.2.5 アプリケーションメディアタイプ (Application Media Types)

「application」トップレベルタイプは、他のタイプ名のいずれにも適合しないディスクリートデータ、特に何らかのアプリケーションプログラムによって処理されるデータに使用されます。

4.2.6 マルチパートおよびメッセージメディアタイプ (Multipart and Message Media Types)

multipart と message は複合タイプ (Composite Types) です。つまり、それぞれが個別のメディアタイプである 0 個以上のオブジェクトをカプセル化する手段を提供します。

multipart と message のすべてのサブタイプは、[RFC2046] で指定され、[RFC6532] のセクション 3.5 で修正された構文ルールおよびその他の要件に準拠しなければなりません (MUST)。

4.2.7 追加のトップレベルタイプ (Additional Top-Level Types)

場合によっては、新しいメディアタイプが現在定義されているトップレベルタイプ名のいずれにも「適合」しないことがあります。そのようなケースは非常にまれであると予想されます。ただし、そのようなケースが発生した場合、それに対応するために新しいタイプ名を定義できます。新しいトップレベルタイプ名の定義は、Standards Track RFC を介して行わなければなりません (MUST)。追加のタイプ名を定義するために他のメカニズムを使用することはできません。

4.2.8 構造化構文名サフィックス (Structured Syntax Name Suffixes)

名前付き構造化構文を使用するメディアタイプは、登録時にその構造化構文に適した登録済みの「+サフィックス」を使用すべきです (SHOULD)。同様に、メディアタイプには、実際には使用していない構造化構文のサフィックスを組み込んだ名前を付けてはなりません (MUST NOT)。

4.2.9 非推奨のエイリアス (Deprecated Aliases)

場合によっては、単一のメディアタイプが、登録前に複数の名前で広く展開されている可能性があります。そのような場合、メディアタイプの優先名を選択しなければならず (MUST)、アプリケーションはタイプの登録に準拠するためにこれを使用しなければなりません (MUST)。

4.3 パラメータ要件 (Parameter Requirements)

メディアタイプは、1 つ以上のメディアタイプパラメータを使用することを選択できます (MAY)。または、一部のパラメータは、そのサブタイプに適用可能なパラメータのセットを定義するコンテンツタイプのサブタイプであることにより、メディアタイプに自動的に利用可能になる場合があります。

パラメータ名は、メディアタイプ名と値と同じ構文を持ちます:

parameter-name = restricted-name

パラメータ名は大文字小文字を区別せず、表示される順序に意味は付けられません。特定のパラメータが複数回指定されることはエラーです。

4.4 正規化と形式要件 (Canonicalization and Format Requirements)

登録されたすべてのメディアタイプは、単一の正規エンコーディング形式を使用しなければなりません (MUST)。

4.5 交換に関する推奨事項 (Interchange Recommendations)

メディアタイプには、異種システム間の交換を最も効果的に達成する方法に関する推奨事項を含めるべきです (SHOULD)。

4.6 セキュリティ要件 (Security Requirements)

すべての登録に対してセキュリティ問題の分析を行わなければなりません (MUST)。すべてのメディアタイプ登録には、メディアタイプのセキュリティへの影響を詳述する「セキュリティに関する考慮事項 (Security considerations)」セクションを含めなければなりません (MUST)。

4.7 XML メディアタイプ固有の要件 (Requirements Specific to XML Media Types)

XML を使用するメディアタイプは、[RFC7303] で指定された要件に準拠しなければなりません (MUST)。

4.8 エンコーディング要件 (Encoding Requirements)

メディアタイプ登録は、さまざまなトランスポートプロトコルでの使用のためにタイプがどのようにエンコードされるかを明確に指定しなければなりません (MUST)。

4.9 使用と実装に関する非要件 (Usage and Implementation Non-Requirements)

メディアタイプの登録は、特定の実装を推奨するものではありません。

4.10 公開要件 (Publication Requirements)

広く展開されているメディアタイプの標準ツリー登録は、RFC として公開すべきです (SHOULD)。

4.11 フラグメント識別子要件 (Fragment Identifier Requirements)

フラグメント識別子 (Fragment Identifiers) を使用するメディアタイプは、どのフラグメント識別子構文がサポートされているかを文書化しなければなりません (MUST)。

4.12 追加情報 (Additional Information)

メディアタイプ登録テンプレートには、多数の追加情報フィールドが含まれています。