Zum Hauptinhalt springen

4. Registrierungsanforderungen (Registration Requirements)

Von allen Medientyp-Registrierungen wird erwartet, dass sie den verschiedenen Anforderungen entsprechen, die in den folgenden Abschnitten aufgeführt sind. Beachten Sie, dass die spezifischen Anforderungen manchmal je nach Registrierungsbaum variieren, wie in den folgenden Abschnitten beschrieben.

4.1 Funktionalitätsanforderung

Medientypen müssen als tatsächliche Medienformate funktionieren. Die Registrierung von Dingen, die besser als Transferkodierung, als Zeichensatz oder als Sammlung separater Entitäten eines anderen Typs betrachtet werden, ist nicht erlaubt. Zum Beispiel können, obwohl Anwendungen zur Dekodierung der base64-Transferkodierung [RFC2045] existieren, base64 nicht als Medientyp registriert werden.

Diese Anforderung gilt unabhängig vom beteiligten Registrierungsbaum.

4.2 Benennungsanforderungen

Allen registrierten Medientypen müssen Top-Level-Typ- und Subtyp-Namen zugewiesen werden. Die Kombination dieser Namen dient dazu, den Medientyp eindeutig zu identifizieren, und die Subtyp-Namensfacette (oder deren Fehlen) identifiziert den Registrierungsbaum. Sowohl Top-Level-Typ- als auch Subtyp-Namen sind nicht case-sensitiv.

Typ- und Subtyp-Namen müssen der folgenden ABNF entsprechen:

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 =/ "." ; Zeichen vor dem ersten Punkt
; geben immer einen Facettennamen an
restricted-name-chars =/ "+" ; Zeichen nach dem letzten Plus
; geben immer ein strukturiertes Syntaxsuffix an

4.2.1 Text-Medientypen

Der Top-Level-Typ „text" ist für das Senden von Material vorgesehen, das hauptsächlich in Textform vorliegt.

Viele Subtypen von text, insbesondere der Subtyp „text/plain", der ein generischer Subtyp für Klartext ist, der in [RFC2046] definiert ist, definieren einen „charset"-Parameter. Wenn für einen bestimmten Subtyp von text ein „charset"-Parameter definiert ist, muss er verwendet werden, um einen Zeichensatznamen anzugeben, der gemäß den in [RFC2978] festgelegten Verfahren definiert ist.

4.2.2 Bild-Medientypen

Ein Top-Level-Typ von „image" zeigt an, dass der Inhalt ein oder mehrere einzelne Bilder spezifiziert. Der Subtyp benennt das spezifische Bildformat.

4.2.3 Audio-Medientypen

Ein Top-Level-Typ von „audio" zeigt an, dass der Inhalt Audiodaten enthält. Der Subtyp benennt das spezifische Audioformat.

4.2.4 Video-Medientypen

Ein Top-Level-Typ von „video" zeigt an, dass der Inhalt ein zeitvariierendes Bild spezifiziert, möglicherweise mit Farbe und koordiniertem Ton. Der Begriff „video" wird in seinem allgemeinsten Sinne verwendet, nicht in Bezug auf eine bestimmte Technologie oder ein bestimmtes Format.

4.2.5 Application-Medientypen

Der Top-Level-Typ „application" soll für diskrete Daten verwendet werden, die unter keinen der anderen Typnamen passen, und insbesondere für Daten, die von einem Anwendungsprogramm verarbeitet werden sollen.

4.2.6 Multipart- und Message-Medientypen

Multipart und message sind zusammengesetzte Typen; das heißt, sie bieten eine Möglichkeit, null oder mehr Objekte zu kapseln, von denen jedes ein separater Medientyp ist.

Alle Subtypen von multipart und message müssen den Syntaxregeln und anderen Anforderungen entsprechen, die in [RFC2046] spezifiziert und durch Abschnitt 3.5 von [RFC6532] geändert wurden.

4.2.7 Zusätzliche Top-Level-Typen

In einigen Fällen passt ein neuer Medientyp möglicherweise nicht unter einen der derzeit definierten Top-Level-Typnamen. Solche Fälle werden als sehr selten erwartet. Wenn jedoch ein solcher Fall auftritt, kann ein neuer Typname definiert werden, um ihn zu berücksichtigen. Die Definition eines neuen Top-Level-Typnamens muss über eine Standards Track RFC erfolgen; kein anderer Mechanismus kann verwendet werden, um zusätzliche Typnamen zu definieren.

4.2.8 Strukturierte Syntax-Namenssuffixe

Medientypen, die eine benannte strukturierte Syntax verwenden, sollten das entsprechende registrierte „+Suffix" für diese strukturierte Syntax verwenden, wenn sie registriert werden. Ebenso dürfen Medientypen keine Namen erhalten, die Suffixe für strukturierte Syntaxen enthalten, die sie tatsächlich nicht verwenden.

4.2.9 Veraltete Aliase

In einigen Fällen kann ein einzelner Medientyp vor der Registrierung unter mehreren Namen weit verbreitet worden sein. In solchen Fällen muss ein bevorzugter Name für den Medientyp gewählt werden, und Anwendungen müssen diesen verwenden, um mit der Registrierung des Typs konform zu sein.

4.3 Parameteranforderungen

Medientypen können wählen, einen oder mehrere Medientyp-Parameter zu verwenden, oder einige Parameter können dem Medientyp automatisch zur Verfügung gestellt werden, indem er ein Subtyp eines Inhaltstyps ist, der einen Satz von Parametern definiert, die auf jeden seiner Subtypen anwendbar sind.

Parameternamen haben dieselbe Syntax wie Medientyp-Namen und -Werte:

parameter-name = restricted-name

Parameternamen sind nicht case-sensitiv, und der Reihenfolge, in der sie erscheinen, wird keine Bedeutung beigemessen. Es ist ein Fehler, wenn ein bestimmter Parameter mehr als einmal angegeben wird.

4.4 Kanonisierungs- und Formatanforderungen

Alle registrierten Medientypen müssen ein einziges kanonisches Kodierungsformat verwenden.

4.5 Austauschempfehlungen

Medientypen sollten Empfehlungen enthalten, wie der Austausch zwischen heterogenen Systemen am besten erreicht werden kann.

4.6 Sicherheitsanforderungen

Für alle Registrierungen muss eine Analyse der Sicherheitsprobleme durchgeführt werden. Alle Medientyp-Registrierungen müssen einen Abschnitt „Sicherheitsüberlegungen" enthalten, der die Sicherheitsauswirkungen des Medientyps detailliert beschreibt.

4.7 Anforderungen speziell für XML-Medientypen

Medientypen, die XML verwenden, müssen den in [RFC7303] spezifizierten Anforderungen entsprechen.

4.8 Kodierungsanforderungen

Medientyp-Registrierungen müssen klar spezifizieren, wie der Typ für die Verwendung mit verschiedenen Transportprotokollen kodiert werden soll.

4.9 Verwendungs- und Implementierungs-Nicht-Anforderungen

Die Registrierung eines Medientyps impliziert keine Befürwortung einer bestimmten Implementierung.

4.10 Veröffentlichungsanforderungen

Standards-Baum-Registrierungen für weit verbreitete Medientypen sollten als RFCs veröffentlicht werden.

4.11 Fragment-Identifikator-Anforderungen

Medientypen, die Fragment-Identifikatoren verwenden, müssen dokumentieren, welche Fragment-Identifikator-Syntax unterstützt wird.

4.12 Zusätzliche Informationen

Die Medientyp-Registrierungsvorlage enthält eine Reihe zusätzlicher Informationsfelder.