【发布时间】:2011-10-10 16:00:05
【问题描述】:
我的程序使用自己的二进制文件类型,所以我假设我不能使用 MIME 类型 text/plain,因为它不是 7 位 ASCII 文件。
我应该将其称为“应用程序/myappname”吗?
【问题讨论】:
标签: mime-types mime
我的程序使用自己的二进制文件类型,所以我假设我不能使用 MIME 类型 text/plain,因为它不是 7 位 ASCII 文件。
我应该将其称为“应用程序/myappname”吗?
【问题讨论】:
标签: mime-types mime
根据规范RFC 2045 #Syntax of the Content-Type Header Field application/myappname 是不允许的,但application/x-myappname 是允许的,并且对我来说听起来最适合您的应用程序。
【讨论】:
【讨论】:
application/octet-stream? x-binary 不是 IANA standardized。无论如何,消费程序可能会将其解释为二进制,因为它们不知道那种 mime 类型。但这不是保证。我们确实有一个明确的 mime 类型。
application/x-binary 不遵循RFC-6838 中规定的命名方案,因此应避免使用。将其更改为 application/x.binary 会更好,但 RFC 仍然不鼓励这样做。更好的选择是application/prs.binary 或application/vnd.binary,但在后一种情况下,您需要向 IANA 注册。
mimetype 标头被浏览器识别,以便(快速)识别处理程序以使用下载的文件作为目标,例如,将下载 PDF 并且您的 Adobe Reader 程序将使用PDF 文件作为参数,
如果您需要编写一个浏览器扩展程序来通过您的操作系统处理您下载的文件,或者您只是想让您的项目看起来更“专业”,请选择一个独特的 mimetype 供您使用, 这没有什么区别,因为操作系统没有打开它的句柄(一些浏览器几乎没有捆绑插件,例如新的 Google Chrome 版本有一个内置的 PDF 阅读器),
如果您想确保下载文件,请查看以下答案:https://stackoverflow.com/a/34758866/257319
如果你想让你的文件类型特别有条理,可能值得在文件的前几个字节中添加几个字母,例如,每个 JPG 在它的文件开头都有这个:
如果你能负担得起 4 或 8 个字节的跳转,rest of the way 对你很有帮助
:)
【讨论】:
我推荐application/octet-stream,因为RFC2046 说““八位字节流”子类型用于指示主体包含任意二进制数据”和“接收“应用程序/八位字节”的实现的推荐操作-stream" 实体只是提供将数据放入文件[...]"。
我认为这样可以更好地处理任意程序,当遇到未知的 mime 类型时可能会出错。
【讨论】:
application/x.<something>、application/vnd.<something> 或application/prs.<something>。 application/octet-stream 只有 TYPE 参数,它不适合机器使用。见datatracker.ietf.org/doc/html/rfc2046#section-4.5.1