压缩文件 MIME 类型的选择:哪种类型何时使用

49

到目前为止,我见过的Zip文件的Mime类型有:

  • application/octet-stream
  • multipart/x-zip
  • application/zip
  • application/zip-compressed
  • application/x-zip-compressed

我想知道哪个是“最好”的,为什么?为什么有这么多选择?我使用Winrar,它似乎不关心Mimetype是什么,但WinZip似乎只喜欢multipart/x-zip和application/octet-stream。是否有一种Mimetype,可以将所有Zip文件下载为该类型,在所有程序中都可用?

谢谢!


9
application/octet-stream 代表通用的二进制数据类型,可以是压缩文件,比如zip格式。 - bohdan_trotsenko
2个回答

33

12

MIME类型的一些事实

现在说具体的zip文件...

  • application/zip是zip文件的标准MIME类型,已正式在IANA注册。这似乎是一个不错的第一选择 :)
  • application/octet-streamRFC 2045和2046中定义:子类型“octet-stream”用于指示主体包含任意二进制数据,因此内容可以是任何东西,而不仅仅是zip。
  • multipart/x-zip - 不同于“离散”类型,“multipart”类型表示由多个组件部分组成的文档,每个部分可能具有自己的MIME类型。我怀疑这里的逻辑是压缩文件由多个文件组成。因此,zip符合“multipart”的定义。但对我来说,它看起来像是过度解释,我希望使用纯文本分隔符来将部分分类为multipart内容。此外,它未被注册为标准。
  • application/zip-compressed - 非标准类型,命名方式违反RFC2046以字符“X-”开头的媒体类型值是私有值,必须经过双方同意的系统使用。没有严格和公开的定义的格式必须以“X-”前缀命名
  • application/x-zip-compressed - 一些非标准约定,我不确定是否有任何重要的用途
  • application/x-zip - 一些非标准约定,我不确定是否有任何重要的用途

3
显然,Windows 在上传文件到网站时使用 x-zip-compressed - 12Me21
当操作系统的MIME类型数据库根据文件名/后缀标识文件时,将在Windows上产生“application/x-zip-compressed”。这可能比让应用程序构建自己的数据库更容易,但是,用户会受制于操作系统的怪癖,例如这种非标准类型。(这是Python的“mimetypes”包的情况。请参见https://github.com/python/cpython/issues/85904#issuecomment-1093883075) - t-mart

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