MIME类型的约定、标准或限制是什么?

14

假设有一种新的专有文件格式,目前没有任何已知的应用程序可以处理它,我认为您可以按照以下方式发明一个新的MIME类型值:

Content-Type: application/my-arbitrary-format
假定这是正确的方法,是否存在任何限制(格式、语法、长度、保留字或其他)、标准(IETF、ISO、W3C、IEEE等)或习惯(如斜杠type/format)?
请注意,我不想使用已知的MIME类型值,因为浏览器和/或操作系统不应该对可以打开的文件进行假设。
2个回答

15

这个页面提供了关于MIME类型命名约定的内容。以下是关于自定义MIME类型的部分:

  • 对于实验性的MIME类型,使用x.作为子类型的前缀。注意,x-前缀也可用于此目的,但不鼓励使用,应该优先选择x.以促进与其他前缀的对称性。

  • 对于商业产品中的厂商特定MIME类型,使用vnd.作为子类型的前缀。vnd.前缀后面应跟随由句点分隔的厂商名称和子类型(例如 application/vnd.mozilla.xul+xml)。

  • 对于个人/自定义的MIME类型,使用prs.作为子类型的前缀。


原链接已经完全失效,似乎已经失踪了几年。 - learning2learn
3
维基百科的媒体类型页面包含了与此相同的信息:https://en.wikipedia.org/wiki/Media_type#Registration_trees - Sphinxxx
据我所理解,从这个维基的含义来看,如果您是供应商,但您的格式尚未公开且面向b2b,则可以使用"x."而不是"vnd"。 - Aleksandar

6

有没有一种方法可以发明应用程序特定的MIME类型,避免注册过程?例如,如果我正在开发需要自定义JSON风格的RESTful API(application/my-app-special1+json)。 - Lea Hayes
@LeaHayes,你可以发送任何你想要的东西。至于为什么你想要创建类似JSON但不是JSON的东西,我不确定... - Brad
我希望有一个通用的约定可以使用。我想定义一个JSON模式,用于传输JavaScript、CSS和自定义模块加载器的依赖项。我想使用自定义MIME来标识返回的JSON数据应该被自动解释(而application/json则纯粹作为数据处理)。这样,模块加载器可以通过API使用,并且API的使用者(可能是我的JavaScript库)将了解响应的性质...这只是我正在思考的一个想法。谢谢! - Lea Hayes
@LeaHayes,Content-Type应该标识返回数据的类型,而不是对其进行操作。这是惯例。当然,你可以改变这个,但通常如果你返回JSON,你应该按照这样的方式发送它。当然,在使用中有很多例外。XHTML就是其中之一,因为它只是XML,但使用了application/xhtml+xml - Brad
2
@Lea: 你可能想要使用前缀x-来表示非标准的值,可以参考这个问题:https://dev59.com/DXI95IYBdhLWcg3w7StZ - unor

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