“image/png”和“image/x-png”有什么区别?

76

"image/png"和"image/x-png"有什么区别?

4个回答

61
x-前缀用于非标准MIME类型(即未在IANA注册)。因此,我认为image/x-png是在MIME类型标准化之前的PNG格式。

如果必要,实现者可以定义私有Content-Transfer-Encoding值,但必须使用x-token,即以“X-”为前缀的名称,表示其非标准状态,例如“Content-Transfer-Encoding: x-my-new-encoding”。任何标准化的Content-Transfer-Encoding值必须由标准跟踪RFC指定。这些规范必须满足的要求在RFC 2048中给出。因此,除了以“X-”开头的content-transfer-encoding命名空间外,其他所有命名空间均明确保留给IETF以供将来使用。

——RFC 2045 — 多用途Internet邮件扩展,第6.3节

这也在PNG规范中有记录。请参见FalseVinylShrub的答案


我接受这个答案,因为它更完整。但是你能把FalseVinylShrub关于IE的信息合并到一个地方吗? - Aaron Bush
嗯,我发现IE上的信息不如PNG规范作为硬性来源有价值。 - Joey
哈哈,那是因为你没有尝试弄清楚为什么所有的PNG文件都来自同一家公司,但只有一个用户将它们上传为X-PNG文件 :) - Aaron Bush
1
顺便说一下,你不应该链接到http://tools.ietf.org/html/rfc2046#section-6,因为内容传输编码和媒体类型不是同一回事——原则是清楚的,哈哈。 - FalseVinylShrub

25
根据http://www.w3.org/TR/PNG/#A-Media-type,"image/png"是PNG格式的互联网媒体类型[RFC-2045],[RFC-2048]。建议您实现时也识别媒体类型“image/x-png”。
因此,如果您正在传送或上传PNG图像,则应该使用'image/png'。但是,如果您要接受上传或以其他方式解释媒体类型,则建议您接受任何一种。
顺便说一下,我找到了一个参考来源,2008年,Internet Explorer(未指定版本)上传PNG图像时使用了'image/x-png'类型,因此这是最近某些人真正面临的问题。

2
我可以确认IE在IE8中正在“x-png”它们。 - Aaron Bush

6

1
我更喜欢引用实际的来源,顺便说一下,在引用的句子之后直接链接到了该来源 :-) - Joey
实际上那是一段引用,而不是一句引语……原始的RFC并没有包含我所引用的那些话;)但我明白你的意思,并添加了一个链接。 - Richard JP Le Guen

6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接