wake-up-neo.com

Richtiger MIME-Medientyp für PDF Dateien

Bei der Arbeit mit PDFs bin ich unter anderem auf die MIME-Typen application/pdf und application/x-pdf gestoßen.

Gibt es einen Unterschied zwischen diesen beiden Typen, und wenn ja, was ist das? Wird einer dem anderen vorgezogen?

Ich arbeite an einer Web-App, die riesige Mengen an PDFs liefern muss, und ich möchte es richtig machen, falls es eine gibt.

1206
friedo

Der Standard-MIME-Typ ist application/pdf. Die Zuweisung wird in RFC 3778, Application/pdf Media Type definiert, auf das in der MIME Media Types-Registrierung verwiesen wird.

MIME-Typen werden von der Normungsbehörde Internet Assigned Numbers Authority (IANA) gesteuert. Dies ist dieselbe Organisation, die die Stammnamenserver und den IP-Adressraum verwaltet.

Die Verwendung von x-pdf geht der Standardisierung des MIME-Typs für PDF voraus. MIME-Typen im x--Namespace gelten als experimentell, ebenso wie diejenigen im vnd.-Namespace als herstellerspezifisch. x-pdf wird möglicherweise aus Gründen der Kompatibilität mit alter Software verwendet.

1594
Chris Hanson

Dies ist eine Konvention, die in RFC 2045 - MIME (Multipurpose Internet Mail Extensions), Teil 1: Format von Internet Message Bodies definiert ist.

  1. Private [Subtyp] Werte (beginnend mit "X-") können bilateral zwischen zwei kooperierenden Agenten ohne externe Registrierung oder Standardisierung definiert werden. Solche Werte können nicht registriert oder standardisiert werden.

  2. Neue Standardwerte sollten wie in RFC 2048 beschrieben bei IANA registriert werden.

Eine ähnliche Einschränkung gilt für den Typ der obersten Ebene. Aus der gleichen Quelle,

Wenn aus irgendeinem Grund ein anderer Typ der höchsten Ebene verwendet werden soll, muss ihm ein Name zugewiesen werden, der mit "X-" beginnt, um den nicht standardmäßigen Status anzuzeigen und einen möglichen Konflikt mit einem zukünftigen offiziellen Namen zu vermeiden.

(Beachten Sie, dass gemäß RFC 2045 bei der [m] Zuordnung von Medientyp und -untertyp IMMER die Groß- und Kleinschreibung nicht berücksichtigt wird. Daher gibt es keinen Unterschied zwischen der Interpretation von 'X-' und 'x-'. .)

Man kann also davon ausgehen, dass "application/x-foo" verwendet wurde, bevor die IANA "application/foo" definiert hat. Und es kann immer noch von Leuten verwendet werden, denen die IANA-Token-Zuweisung nicht bekannt ist.

Wie Chris Hanson sagte, werden MIME-Typen von der IANA gesteuert. Ausführliche Informationen hierzu finden Sie in RFC 2048 - MIME (Multipurpose Internet Mail Extensions), Teil 4: Registrierungsverfahren . Gemäß RFC 3778 , was von der IANA zitiert als Definition für "application/pdf" ist,

Der Medientyp application/pdf wurde erstmals 1993 von Paul Lindner für die Verwendung durch das Gopher-Protokoll registriert. Die Registrierung wurde anschließend 1994 von Steve Zilles aktualisiert.

Der Typ "application/pdf" gibt es schon seit mehr als einem Jahrzehnt. Wo immer "application/x-pdf" in neuen Apps verwendet wurde, scheint mir die Entscheidung nicht absichtlich gewesen zu sein.

146
GargantuChet

Aus Wikipedia Medientyp,

Ein Medientyp besteht aus einem Typ, einem Untertyp und optionalen Parametern. Beispielsweise könnte eine HTML-Datei als text/html bezeichnet werden. Zeichensatz = UTF-8.

Der Medientyp besteht aus dem Typnamen der obersten Ebene und dem Untertypnamen, die weiter in sogenannte "Bäume" strukturiert sind.

top-level type name / subtype name [ ; parameters ]

top-level type name / [ tree. ] subtype name [ +suffix ] [ ; parameters ]

Alle Medientypen sollten mithilfe der IANA-Registrierungsverfahren registriert werden. Derzeit werden die folgenden Bäume erstellt: standard, vendor, personal oder vanity, nicht registriert x.

Standard:

Medientypen im Standardbaum verwenden keine Baumfacette (Präfix).

type / media type name [+suffix]

Beispiele: "application/xhtml + xml", "image/png"

Verkäufer:

Der Lieferantenbaum wird für Medientypen verwendet, die mit öffentlich verfügbaren Produkten verknüpft sind. Es wird die Facette vnd. verwendet.

type / vnd. media type name [+suffix] - used in the case of well-known producer

type / vnd. producer's name followed by media type name [+suffix] - producer's name must be approved by IANA

type / vnd. producer's name followed by product's name [+suffix] - producer's name must be approved by IANA

Persönlicher Baum oder Vanity-Baum:

Persönlicher oder Vanity-Baum enthält Medientypen, die experimentell oder als Teil von Produkten erstellt wurden, die nicht kommerziell vertrieben werden. Es wird die Facette prs. verwendet.

type / prs. media type name [+suffix]

Nicht registriert x. Baum:

Das "x." tree darf für Medientypen verwendet werden, die ausschließlich zur Verwendung in privaten, lokalen Umgebungen bestimmt sind, und nur mit der aktiven Zustimmung der Parteien, die sie austauschen. Typen in diesem Baum können nicht registriert werden.

Gemäß der vorherigen Version von RFC 6838 - obsoleted RFC 2048 (veröffentlicht im November 1996) sollte es selten, wenn überhaupt, erforderlich sein, nicht registrierte experimentelle Typen zu verwenden und als solche beide "x" zu verwenden - "und" x. " Formen wird abgeraten . Frühere Versionen dieses RFC - RFC 1590 und RFC 1521 haben angegeben, dass die Verwendung der "x" -Notation für den Untertypnamen für nicht registrierte und private Untertypen verwendet werden kann, diese Empfehlung wurde jedoch im November 1996 überholt.

type / x. media type name [+suffix]

Es ist also klar, dass der Standardtyp MIME-Typ application/pdf der geeignete ist, während Sie die Verwendung des veralteten und nicht registrierten Medientyps x- gemäß RFC 2048 und - vermeiden sollten. RFC 6838 .

25
Lucky