使用PDF时,我遇到了MIME类型application/pdf
和application/x-pdf
等问题。
这两种类型之间是否有区别,如果是这样,它是什么?一个人比另一个更受欢迎吗?
我正在开发一个必须提供大量PDF的网络应用程序,我想以正确的方式进行,如果有的话。
答案 0 :(得分:1570)
标准MIME类型为application/pdf
。分配在RFC 3778, The application/pdf Media Type中定义,引自MIME Media Types registry。
MIME类型由标准机构Internet Assigned Numbers Authority(IANA)控制。这是管理根名称服务器和IP地址空间的组织。
x-pdf
的使用早于PDF的MIME类型的标准化。 x-
命名空间中的MIME类型被认为是实验性的,就像vnd.
命名空间中的MIME类型被视为特定于供应商一样。 x-pdf
可能用于与旧软件兼容。
答案 1 :(得分:145)
这是RFC 2045 - Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies中定义的惯例。
可以定义私有 [子类型] 值(以“X-”开头) 两个合作代理人之间没有双边 外部注册或标准化。这样的价值观 无法注册或标准化。
- 醇>
新标准值应按照RFC 2048中的说明在IANA注册。
类似的限制适用于顶级类型。来自同一个来源,
如果出于任何原因使用其他顶级类型,则必须是 给出一个以“X-”开头的名称,表示其非标准状态 并避免与未来的正式名称发生潜在冲突。
(请注意,根据RFC 2045,“[m]媒体类型和子类型的特性始终不区分大小写”,因此“X-”和“x - ”的解释之间没有区别。)< / em>的
因此,在IANA定义的“application / foo”之前使用“application / x-foo”是公平的。它仍然可能被不了解IANA令牌分配的人使用。
正如Chris Hanson所说,MIME类型由IANA控制。这在RFC 2048 - Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures中有详细说明。根据{{3}},RFC 3778作为“application / pdf”的定义,
应用程序/ pdf媒体类型于1993年由Paul Lindner首次注册,供gopher协议使用;随后,Steve Zilles于1994年对注册进行了更新。
“application / pdf”类型已经存在了十多年。所以在我看来,无论“应用程序/ x-pdf”在新应用程序中使用过,这个决定都可能不是故意的。
答案 2 :(得分:25)
来自维基百科媒体类型,
媒体类型由类型,子类型和可选项组成 参数。例如,HTML文件可能被指定为text / html;字符集= UTF-8。
媒体类型由顶级类型名称和子类型名称组成,即 进一步构建成所谓的&#34;树&#34;。
top-level type name / subtype name [ ; parameters ]
top-level type name / [ tree. ] subtype name [ +suffix ] [ ; parameters ]
所有媒体类型都应使用IANA注册程序进行注册。目前创建了以下树:standard
,vendor
,personal
或vanity
,未注册的x.
标准强>
标准树中的媒体类型不使用任何树构面(前缀)。
type / media type name [+suffix]
示例:&#34; application / xhtml + xml&#34;,&#34; image / png&#34;
<强>供应商:强>
供应商树用于与公开可用的媒体类型相关联 产品。它使用
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。树强>
&#34; x。&#34;树可以用于专门用于的媒体类型 在私人的,本地的环境中,只有积极的协议 各方交换他们。无法注册此树中的类型。
根据RFC 6838的先前版本 - 已废弃的RFC 2048 (1996年11月出版)它应该很少,如果有的话,是必要的 使用未注册的实验类型,并使用&#34; x - &#34; 和&#34; x。&#34;不鼓励表格。该RFC的早期版本 - RFC 1590和RFC 1521表示使用&#34; x - &#34;的表示法 子类型名称可以用于未注册和私有子类型,但是 这项建议已于1996年11月废止。
type / x. media type name [+suffix]
很明显,标准类型MIME类型application/pdf
是适当的,但您应该避免使用RFC 2048和{{中所述的过时和未注册的x-
媒体类型3}}