【问题标题】:Are MimeTypes lowercase / case insensitive?MimeTypes 是小写/不区分大小写的吗?
【发布时间】:2012-10-03 20:55:26
【问题描述】:

我们有一些基于 mimetypes 处理消息的代码,这需要匹配它们。粗略一瞥表明都是小写的,这不禁让人怀疑:

  • 按照惯例,它们是这样的,或者
  • 这是规范的一部分吗? (在 RFC 2045/2046 中搜索大写/小写等未返回任何命中)

那么,为了tiny 性能提升,是否可以省略不区分大小写的比较?

【问题讨论】:

  • application/vnd.ms-word.document.macroEnabled.12 是 MIME 类型的示例,通常用大写字符编写。

标签: mime-types rfc


【解决方案1】:

MIME 类型不区分大小写。按照惯例,它们只是小写。

RFC 2045 说:“类型、子类型和参数名称不区分大小写。”如果您的 MIME 类型为 text/plain,则它是 text 的类型和 plain 的子类型。因此,根据规范,这些不区分大小写。

正如Cromax 在评论中指出的那样,MIME 类型参数值 可能区分大小写。有关详细信息,请参阅评论或规范。但如果您只匹配 mime 类型、子类型或参数 names,则它们不区分大小写。有趣的是,大多数人使用 mime 类型和可能的子类型,它们不区分大小写。

【讨论】:

  • 值得在上面提到的 RFC 中添加这句话: 类型、子类型和参数名称不区分大小写。例如,TEXT、Text 和 TeXt 都是等效的顶级媒体类型。 参数值通常区分大小写,但有时会以不区分大小写的方式进行解释,具体取决于预期用途。 (例如,多部分边界区分大小写,但 message/External-body 的“access-type”参数不区分大小写。).
猜你喜欢
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2016-11-24
  • 2012-12-01
  • 2013-03-06
  • 2020-02-18
  • 2014-12-17
  • 1970-01-01
相关资源
最近更新 更多