Zum Hauptinhalt springen

4. MIME-Version Header-Feld (MIME-Version Header Field)

Seit der Veröffentlichung von RFC 822 im Jahr 1982 gab es wirklich nur einen Formatstandard für Internet-Nachrichten, und es gab wenig wahrgenommenen Bedarf, den verwendeten Formatstandard zu deklarieren. Dieses Dokument ist eine unabhängige Spezifikation, die RFC 822 ergänzt. Obwohl die Erweiterungen in diesem Dokument auf eine Weise definiert wurden, die mit RFC 822 kompatibel ist, gibt es dennoch Umstände, unter denen es für einen Mail-Processing-Agenten wünschenswert sein könnte zu wissen, ob eine Nachricht mit dem neuen Standard im Hinterkopf verfasst wurde.

Daher definiert dieses Dokument ein neues Header-Feld, „MIME-Version", das verwendet werden soll, um die Version des verwendeten Internet-Nachrichtenbody-Formatstandards zu deklarieren.

Nachrichten, die in Übereinstimmung mit diesem Dokument verfasst wurden, müssen (MUST) ein solches Header-Feld mit folgendem wörtlichem Text enthalten:

MIME-Version: 1.0

Das Vorhandensein dieses Header-Feldes ist eine Behauptung, dass die Nachricht in Übereinstimmung mit diesem Dokument verfasst wurde.

Da es möglich ist, dass ein zukünftiges Dokument den Nachrichtenformatstandard erneut erweitern könnte, wird ein formales BNF für den Inhalt des MIME-Version-Feldes gegeben:

version := "MIME-Version" ":" 1*DIGIT "." 1*DIGIT

Somit sind zukünftige Formatspezifikatoren, die „1.0" ersetzen oder erweitern könnten, auf zwei ganzzahlige Felder beschränkt, die durch einen Punkt getrennt sind. Wenn eine Nachricht mit einem MIME-Version-Wert empfangen wird, der nicht „1.0" ist, kann nicht angenommen werden, dass sie diesem Dokument entspricht.

Beachten Sie, dass das MIME-Version-Header-Feld auf der obersten Ebene einer Nachricht erforderlich (required) ist. Es ist nicht für jeden Body-Part einer Multipart-Entität erforderlich. Es ist für die eingebetteten Header eines Body vom Typ "message/rfc822" oder "message/partial" erforderlich, wenn und nur wenn die eingebettete Nachricht selbst als MIME-konform beansprucht wird.

Es ist nicht möglich, vollständig zu spezifizieren, wie ein Mail-Reader, der MIME wie in diesem Dokument definiert entspricht, eine Nachricht behandeln sollte, die in Zukunft mit einem MIME-Version-Wert ankommen könnte, der nicht „1.0" ist.

Es ist auch erwähnenswert, dass die Versionskontrolle für spezifische Medientypen nicht unter Verwendung des MIME-Version-Mechanismus durchgeführt wird. Insbesondere haben einige Formate (wie application/postscript) Versionsnummerierungskonventionen, die dem Medienformat intern sind. Wo solche Konventionen existieren, ersetzt MIME sie nicht. Wo sie nicht existieren, könnte ein MIME-Medientyp bei Bedarf einen „version"-Parameter im Content-Type-Feld verwenden.

Hinweis für Implementierer (Implementor's Note)

Beim Überprüfen von MIME-Version-Werten müssen (MUST) alle vorhandenen RFC 822-Kommentarzeichenfolgen ignoriert werden. Insbesondere sind die folgenden vier MIME-Version-Felder äquivalent:

MIME-Version: 1.0

MIME-Version: 1.0 (produced by MetaSend Vx.x)

MIME-Version: (produced by MetaSend Vx.x) 1.0

MIME-Version: 1.(produced by MetaSend Vx.x)0

In Abwesenheit eines MIME-Version-Feldes kann ein empfangender Mail-User-Agent (unabhängig davon, ob er den MIME-Anforderungen entspricht oder nicht) optional wählen, den Nachrichtenbody gemäß lokalen Konventionen zu interpretieren. Viele solcher Konventionen sind derzeit in Gebrauch, und es sollte beachtet werden, dass in der Praxis Nicht-MIME-Nachrichten so ziemlich alles enthalten können.

Es ist unmöglich, sicher zu sein, dass eine Nicht-MIME-Mail-Nachricht tatsächlich Klartext im US-ASCII-Zeichensatz ist, da es durchaus eine Nachricht sein könnte, die unter Verwendung eines Satzes nicht-standardmäßiger lokaler Konventionen, die MIME vorausgehen, Text in einem anderen Zeichensatz oder nicht-textuelle Daten enthält, die auf eine Weise präsentiert werden, die nicht automatisch erkannt werden kann (z.B. eine uuencodierte komprimierte UNIX-tar-Datei).


Schlüsselpunkte:

  • Alle MIME-Nachrichten müssen (MUST) einen MIME-Version: 1.0-Header enthalten
  • Das Versionsformat ist major.minor (z.B. 1.0)
  • Nur auf der obersten Nachrichtenebene erforderlich, nicht in Body-Parts
  • RFC 822-Kommentare müssen ignoriert werden
  • Nicht-MIME-Nachrichten können lokale Konventionen verwenden