PDF文件的正确MIME媒体类型

在使用PDF时,我遇到了MIME类型application/pdfapplication/x-pdf等。

这两种类型之间有区别吗?如果有,那是什么?一种比另一种好吗?

我正在开发一个必须提供大量PDF的Web应用程序,如果有的话,我想以正确的方式完成它。

1020862 次浏览

标准媒体类型(以前称为MIME类型)是application/pdf。分配在RFC 3778,应用程序/pdf媒体类型中定义,引用自媒体类型注册表

媒体类型由标准主体互联网号码分配机构(IANA)控制。这是管理根名称服务器和IP地址空间的同一组织。

x-pdf的使用早于PDF媒体类型的标准化。x-命名空间中的媒体类型被认为是实验性的,就像vnd.命名空间中的媒体类型被认为是特定于供应商的一样。x-pdf可能用于与旧软件的兼容性。

这是RFC 2045-多用途Internet邮件扩展(MIME)第一部分:Internet消息体的格式中定义的约定。

  1. 可以定义Private[亚型]值(以“X-”开头)两个合作代理之间的双边关系在注册或标准化之外不能注册或标准化。

  2. 新标准值应按照rfc2048中的描述向IANA注册。

类似的限制适用于顶级类型。

如果出于任何原因要使用另一个顶级类型,它必须是以“X-”开头的名称表示其非标准状态为了避免与未来的官方名称发生潜在冲突。

(请注意,根据RFC 2045,“媒体类型和子类型的[m]atch始终不区分大小写”,因此“X-”和“x-”的解释之间没有区别。

因此,可以公平地猜测“应用程序/x-foo”在IANA定义“应用程序/foo”之前被使用。并且它仍然可能被不知道IANA令牌分配的人使用。

正如Chris Hanson所说,MIME类型由IANA控制。这在RFC 2048-多用途Internet邮件扩展(MIME)第四部分:注册程序中有详细说明。根据rfc3778,即由IANA引用作为“应用程序/pdf”的定义,

应用程序/pdf媒体类型于1993年由Paul Lindner首次注册,供gfer协议使用;该注册随后于1994年由Steve Zilles更新。

“应用程序/pdf”类型已经存在了十多年。所以在我看来,无论在新应用程序中使用“应用程序/x-pdf”,这个决定可能不是故意的。

从维基百科媒体类型,

媒体类型由类型、子类型和可选类型组成例如,超文本标记语言文件可以指定为text/html; charset=UTF-8。

媒体类型由顶级类型名称和子类型名称组成,即#36825;的“树”。

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

所有媒体类型都应使用IANA注册程序进行注册。目前创建了以下树:standardvendorpersonalvanity,未注册的x.

标准:

标准树中的媒体类型不使用任何树刻面(前缀)。

type / media type name [+suffix]

示例:“应用程序/xhtml+xml”、“图像/png”

供应商:

供应商树用于与公开可用相关联的媒体类型产品。它使用vnd. facet。

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

个人或虚荣树:

个人或虚荣树包括实验创建的媒体类型或作为非商业分销产品的一部分。它使用prs.

type / prs. media type name [+suffix]

未注册的x. tree:

“x.”树可用于专门用于使用的媒体类型在私人,本地环境中,并且只有在交换它们的各方。无法注册此树中的类型。

根据以前版本的RFC 6838-过时的RFC 2048(1996年11月出版)它应该很少,如果有的话,是必要的使用未注册的实验类型,因此使用“x-”和“x.”表单是不鼓励的。该RFC的早期版本-RFC1590和RFC 1521指出,使用“x-”表示法子类型名称可用于未注册和私有子类型,但该建议于1996年11月被废弃。

type / x. media type name [+suffix]

因此,很明显,标准类型MIME类型application/pdf是合适的,而您应该避免使用rfc2048rfc6838中所述的过时和未注册的x-媒体类型。