【问题标题】:Is there a standard 'null' mime-type是否有标准的“空”mime 类型
【发布时间】:2014-04-15 03:21:17
【问题描述】:

我使用单一 JSON 响应格式来涵盖许多可能的响应。

响应包含一个字段,该字段可选地包含指向外部资源的链接。

无论是否填充此字段,响应都是有效的。

我正在使用一个单独的 mime 类型字段来指示客户端应如何处理该字段。

mime-type : video/mp4

客户端播放视频

mime-type : text/html

客户端使用给定的 URL 启动浏览器

我想知道的是,是否有“标准”mime 类型来覆盖空资源。
我知道我可以使用供应商特定的 mime 类型,而且很可能会使用,但这让我产生疑问。

谢谢。

【问题讨论】:

  • 我认为答案是否定的,因为媒体类型只有在实际存在的情况下才能定义。或者,我会争辩说,根据系统的不同,可能存在默认值,例如,一个系统可能默认发送“text/plain”,而 Web 表单默认情况下可能会导致“multipart/form-data”。我认为这真的取决于数据从哪里发送以及发送时如何定义。
  • 我见过application/x-empty 用于没有提供内容的情况。也许你可以使用那个?

标签: ajax json http mime-types content-type


【解决方案1】:

我同意 DanielTate 对原始问题的评论:我认为不存在“空媒体类型”(媒体类型也称为 MIME 类型)。我没有看过entire IANA registry,但我非常怀疑那里有什么东西。 media type RFC 似乎没有提到任何类似的东西——我还没有阅读整个内容,但确实扫描了 TOC 并搜索“null”“empty”“invalid”。

很清楚的是:媒体类型应该是关于某物的元数据。鉴于您的问题,我试图猜测您为什么可能会考虑 null 媒体类型(如果您在问题中添加了一些特定的 json 示例,可能会更清楚),但是,一般来说,它并没有多大意义意义:理论上,您不需要用任何类型的媒体类型来描述 nothing(即不存在的资源):那里已经什么都没有了,所以为什么要进一步将其描述为具有“空媒体类型”?

如果我正确理解你的情况,当没有资源时,我会使用一个空字符串。也许那是空媒体类型 :) 但是,出于某种原因,您似乎真的想在响应中指定媒体类型,即使没有资源(或没有链接)。这是为什么呢?

【讨论】:

  • 也许有更好的方法可以做到这一点,但我可以看到一个用例是在 HTTP 中发送 Accept 标头以指定您不希望得到任何回报。
【解决方案2】:

IANA 保留“示例”用于示例目的。但由于“example”永远不能用作真正的 mime 类型,example/example 可以用作(内部使用的)兼容的“null”MIME 类型。

https://www.iana.org/assignments/media-types/media-types.xhtml#examples

示例

注意:“示例”媒体类型用于示例。任何亚型 在这些示例中可以使用遵循媒体类型语法。不 子类型可以向 IANA 注册。了解更多信息 参见[RFC4735]。

注意:“示例”媒体类型作为媒体类型的出现 在示例之外,例如在 Content-Type 标头中,是一个错误并且 应该报告给实施者。[RFC2045][RFC2046]指定 内容类型、内容子类型、字符集、访问类型、 MIME 邮件的转换值将由以下人员分配和列出 IANA。

【讨论】:

    【解决方案3】:

    最后加个逗号

    if( checkType( $_FILES["CV"]["type"], "application/pdf,image/jpeg,image/png,video/mp4,audio/mpeg,application/msword,application/excel,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.wordprocessingml.document," ) ) {
    

    【讨论】:

      猜你喜欢
      • 2011-07-05
      • 2011-12-25
      • 2012-09-14
      相关资源
      最近更新 更多