使用PDF时,我遇到了MIME类型application/pdf
等application/x-pdf
问题.
这两种类型之间是否存在差异,如果是这样,它是什么?一个比另一个更受欢迎吗?
我正在开发一个必须提供大量PDF的网络应用程序,我想以正确的方式进行,如果有的话.
标准的MIME类型是application/pdf
.该分配在RFC 3778中定义,即应用程序/ pdf媒体类型,从MIME媒体类型注册表引用.
MIME类型由标准机构 - 互联网号码分配机构(IANA)控制.这是管理根名称服务器和IP地址空间的组织.
使用x-pdf
早于PDF的MIME类型的标准化.x-
命名空间中的MIME类型被认为是实验性的,就像命名空间中的MIME类型被视为特定于vnd.
供应商一样.x-pdf
可能用于与旧软件兼容.
这是RFC 2045中定义的约定- 多用途Internet邮件扩展(MIME)第一部分:Internet邮件实体的格式.
私有[子类型]值(以"X-"开头)可以在两个合作代理之间双边定义而无需外部注册或标准化.这些值无法注册或标准化.
应按照RFC 2048中的说明在IANA注册新的标准值.
类似的限制适用于顶级类型.来自同一来源,
如果由于任何原因要使用另一个顶级类型,则必须为其指定一个以"X-"开头的名称,以指示其非标准状态并避免与未来的官方名称发生潜在冲突.
(请注意,根据RFC 2045,"[m]媒体类型和子类型的特性始终不区分大小写",因此"X-"和"x-"的解释之间没有区别.)
因此,在IANA定义的"application/foo"之前使用"application/x-foo"是公平的.它仍然可能被不了解IANA令牌分配的人使用.
正如Chris Hanson所说,MIME类型由IANA控制.这在RFC 2048 - 多用途Internet邮件扩展(MIME)第四部分:注册过程中有详细说明.根据RFC 3778,IANA将其引用为"application/pdf"的定义,
application/pdf媒体类型于1993年由Paul Lindner首次注册,供gopher协议使用; 随后,Steve Zilles于1994年对注册进行了更新.
"application/pdf"类型已经存在了十多年.所以在我看来,无论"应用程序/ x-pdf"在新应用程序中使用过,这个决定可能都不是故意的.
来自维基百科媒体类型,
媒体类型由类型,子类型和可选参数组成.例如,HTML文件可能被指定为text/html; 字符集= UTF-8.
媒体类型由顶级类型名称和子类型名称组成,其进一步构造为所谓的"树".
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]
示例:"application/xhtml + xml","image/png"
卖方:
供应商树用于与公共产品相关联的媒体类型.它使用
vnd.
方面.
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.树:
"x." 树可以用于专门用于私人,本地环境的媒体类型,并且只有交换它们的各方的主动协议才能使用.无法注册此树中的类型.
根据RFC 6838的先前版本 - 废弃的RFC 2048(1996年11月发布),如果有的话,很少需要使用未注册的实验类型,因此使用"x-"和"x".形式是不鼓励的.该RFC的早期版本 - RFC 1590和RFC 1521表明,对于未注册和私有子类型,可以使用"x-"符号表示子类型名称,但该建议已于1996年11月废弃.
type / x. media type name [+suffix]
因此,很明显标准类型的MIME类型application/pdf
是适当的类型,而您应该避免使用RFC 2048和RFC 6838中所述的过时和未注册的x-
媒体类型.