适用于PDF文件的MIME媒体类型
在使用PDF时,我已经运行了MIME类型application/pdf
和application/x-pdf
等。
这两种类型有区别吗?如果是这样,它是什么? 一个比另一个更受欢迎吗?
我正在开发一个Web应用程序,它必须提供大量的PDF,并且我想以正确的方式进行操作,如果有的话。
标准的MIME类型是application/pdf
。 该分配在RFC 3778中定义,应用程序/ pdf媒体类型,从MIME媒体类型注册表中引用。
MIME类型由标准机构互联网号码分配机构(IANA)控制。 这是管理根名称服务器和IP地址空间的组织。
x-pdf
的使用早于PDF的MIME类型的标准化。 x-
命名空间中的MIME类型被认为是实验性的,就像vnd.
那些类型一样vnd.
命名空间被视为供应商特定的。 x-pdf
可能用于与旧软件的兼容性。
这是RFC 2045 - 多用途Internet邮件扩展(MIME)第一部分:Internet消息体的格式中定义的约定。
私人[子类型]值(以“X-”开头)可以在两个合作代理之间双边定义,无需外部注册或标准化。 这些值不能被注册或标准化。
如RFC 2048中所述,新标准值应该向IANA注册。
类似的限制适用于顶级类型。 从同一来源,
如果出于任何原因要使用另一种顶级类型,则必须给它一个以“X-”开头的名称来表示其非标准状态,并避免与未来正式名称的潜在冲突。
(请注意,根据RFC 2045,“媒体类型和子类型的处理始终不区分大小写”,因此“X”和“x-”的解释没有区别)。
因此,在IANA定义“application / foo”之前,猜测“application / x-foo”已被使用是公平的。 它仍然可能被不知道IANA令牌分配的人使用。
正如Chris Hanson所说,MIME类型是由IANA控制的。 这在RFC 2048 - 多用途Internet邮件扩展(MIME)第四部分:注册过程中有详细介绍。 根据IANA作为“application / pdf”定义引用的RFC 3778,
应用程序/ pdf媒体类型首先由Paul Lindner在1993年注册,供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-
媒体类型。