Tipo de medio MIME adecuado para archivos PDF

1285

Cuando trabajo con archivos PDF, me he encontrado con los tipos MIME application/pdfy application/x-pdfentre otros.

¿Hay alguna diferencia entre estos dos tipos y, de ser así, cuál es? ¿Se prefiere uno sobre el otro?

Estoy trabajando en una aplicación web que debe entregar grandes cantidades de archivos PDF y quiero hacerlo de la manera correcta, si hay una.

friedo
fuente

Respuestas:

1705

El tipo MIME estándar es application/pdf. La asignación se define en RFC 3778, El tipo de medio de aplicación / pdf , referenciado desde el registro de Tipos de medios MIME .

Los tipos MIME están controlados por un organismo de estándares, la Autoridad de Números Asignados de Internet (IANA). Esta es la misma organización que administra los servidores de nombres raíz y el espacio de direcciones IP.

El uso de x-pdfes anterior a la estandarización del tipo MIME para PDF. Los tipos MIME en el x-espacio de nombres se consideran experimentales, del mismo modo que los del vnd.espacio de nombres se consideran específicos del proveedor. x-pdfpodría usarse para compatibilidad con software antiguo.

Chris Hanson
fuente
66
Actualización 2020: en este punto, el application/pdftipo debe usarse, a menos que necesite ser compatible con un software realmente antiguo, no use x-pdf...
Janniks
156

Esta es una convención definida en RFC 2045 - Extensiones multipropósito de correo de Internet (MIME) Parte uno: Formato de cuerpos de mensajes de Internet .

  1. Los valores privados [subtipo] (que comienzan con "X-") pueden definirse bilateralmente entre dos agentes cooperantes sin registro o estandarización externos. Dichos valores no pueden registrarse ni estandarizarse.

  2. Los nuevos valores estándar deben registrarse con IANA como se describe en RFC 2048 .

Se aplica una restricción similar al tipo de nivel superior. De la misma fuente,

Si se va a utilizar otro tipo de nivel superior por algún motivo, se le debe dar un nombre que comience con "X-" para indicar su estado no estándar y evitar un posible conflicto con un nombre oficial futuro.

(Tenga en cuenta que según RFC 2045, "[m] atching del tipo y subtipo de medios SIEMPRE distingue entre mayúsculas y minúsculas", por lo que no hay diferencia entre la interpretación de 'X-' y 'x-').

Por lo tanto, es justo adivinar que "application / x-foo" se usó antes de que la IANA definiera "application / foo". Y aún podría ser utilizado por personas que no conocen la asignación de tokens de IANA.

Como dijo Chris Hanson, los tipos MIME están controlados por la IANA. Esto se detalla en RFC 2048 - Extensiones multipropósito de correo de Internet (MIME) Parte cuatro: Procedimientos de registro . De acuerdo con RFC 3778 , que la IANA cita como la definición de "aplicación / pdf",

El tipo de medio de aplicación / pdf fue registrado por primera vez en 1993 por Paul Lindner para su uso por el protocolo Gopher; el registro fue actualizado posteriormente en 1994 por Steve Zilles.

El tipo "application / pdf" ha existido por más de una década. Entonces, me parece que siempre que se ha usado "application / x-pdf" en nuevas aplicaciones, la decisión puede no haber sido deliberada.

GargantuChet
fuente
28

Del tipo de medio Wikipedia,

Un tipo de medio se compone de un tipo, un subtipo y parámetros opcionales. Como ejemplo, un archivo HTML podría designarse text / html; juego de caracteres = UTF-8.

El tipo de medio consiste en el nombre de tipo de nivel superior y el nombre de subtipo, que está estructurado en los llamados "árboles".

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

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

Todos los tipos de medios deben registrarse utilizando los procedimientos de registro de la IANA. Actualmente se crean los siguientes árboles: standard, vendor, personalo vanity, sin registrarx.

Estándar:

Los tipos de medios en el árbol de estándares no usan ninguna faceta de árbol (prefijo).

type / media type name [+suffix]

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

Vendedor:

El árbol de proveedores se utiliza para los tipos de medios asociados con productos disponibles públicamente. Utiliza vnd.faceta.

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

Árbol personal o de vanidad:

El árbol Personal o Vanity incluye tipos de medios creados experimentalmente o como parte de productos que no se distribuyen comercialmente. Utiliza prs.faceta.

type / prs. media type name [+suffix]

No registrado x. árbol:

La "x". El árbol se puede usar para tipos de medios destinados exclusivamente para su uso en entornos privados y locales y solo con el acuerdo activo de las partes que los intercambian. Los tipos en este árbol no se pueden registrar.

De acuerdo con la versión anterior de RFC 6838 - RFC 2048 obsoleto (publicado en noviembre de 1996) rara vez, si alguna vez, debería ser necesario utilizar tipos experimentales no registrados, y como tal el uso de "x-" y "x". Se desaconsejan las formas . Las versiones anteriores de ese RFC - RFC 1590 y RFC 1521 declararon que el uso de la notación "x-" para el nombre del subtipo puede usarse para subtipos privados y no registrados, pero esta recomendación quedó obsoleta en noviembre de 1996.

type / x. media type name [+suffix]

Por lo tanto, está claro que el tipo MIME de tipo estándar application/pdfes el apropiado para usar, mientras que debe evitar usar el x-tipo de medio obsoleto y no registrado como se indica en RFC 2048 y RFC 6838 .

Suerte
fuente
3
@TNguyen: No hay daño. :) Creo que es bueno tener otras versiones de respuestas, de modo que proporcione información adicional para quien busque el tema. Además, citó información adicional, en comparación con otras respuestas.
sunil