ChatGPT解决这个技术问题 Extra ChatGPT

什么是 MIME 类型?

我一直在阅读有关如何构建插件的信息,并且在其中不断讨论这种“MIME 类型”。我试图调查它并知道它是多用途 Internet 邮件扩展 (MIME),但没有提供关于它与浏览器插件的关系的适当解释,就像我在构建插件时需要了解的那样,请用简单明了的语言解释。它是什么?为什么插件有 MIME 类型?


Q
Quentin

MIME 类型是用于标识数据类型的标签。使用它是为了让软件知道如何处理数据。它在 Internet 上的作用与 Microsoft Windows 上的文件扩展名相同。

因此,如果服务器说“这是文本/html”,客户端可以去“啊,这是一个 HTML 文档,我可以在内部渲染它”,而如果服务器说“这是应用程序/pdf”,客户端可以去“啊,我需要启动用户已安装的 FoxIt PDF Reader 插件,该插件已将自身注册为应用程序/pdf 处理程序。”

您最常在 HTTP 消息的标头(用于描述 HTTP 服务器响应的内容或在请求中发布的数据的格式)和电子邮件标头(用于描述消息格式和附件)。


这可以作为 IP 级别端口的隐喻吗?
C
CJay

MIME 代表多用途 Internet 邮件扩展。 MIME 类型形成了一种在 Internet 上对文件类型进行分类的标准方法。 Web 服务器和浏览器等 Internet 程序都有一个 MIME 类型列表,因此它们可以以相同的方式传输相同类型的文件,无论它们工作在什么操作系统中。

MIME 类型有两部分:类型和子类型。它们由斜线 (/) 分隔。例如,Microsoft Word 文件的 MIME 类型是 application,子类型是 msword。总之,完整的 MIME 类型是 application/msword。

虽然有一个完整的 MIME 类型列表,但它没有列出与文件关联的扩展名,也没有列出文件类型的描述。这意味着,如果您想找到某种文件的 MIME 类型,可能会很困难。有时您必须查看列表并猜测您关注的文件的 MIME 类型。


现在有 a list w/ MIME 类型和来自 MDN 的扩展。您也可以send a PR对其进行改进。
P
Premraj

MIME 代表多用途 Internet 邮件扩展。这是一种根据文件的性质和格式识别 Internet 上文件的方法。

例如,使用在 HTTP 响应中定义的 Content-type 标头值,浏览器可以打开具有适当扩展名/插件的文件。

Internet 媒体类型(也称为内容类型)与 MIME 类型相同。 MIME 类型最初是为使用 SMTP 协议发送的电子邮件创建的。如今,该标准被用于许多其他协议,因此新的命名约定“Internet Media Type”。

MIME 类型是由两部分组成的字符串标识符:typesubtype

“类型”是指许多相互密切相关的 MIME 类型的逻辑分组;它只不过是一个高级类别。

“子类型”特定于“类型”中的一种文件类型。

MIME 子类型的 x- 前缀仅表示它是非标准的。
vnd 前缀表示 MIME 值是特定于供应商的。

Source


G
Gale

类推

想象一下,你给你的笔友写了一封信,但你每次都用不同的语言写信。

例如,您可能选择用泰米尔语写第一个字母,用德语写第二个字母等。

为了让您的朋友翻译这些信件,您的朋友需要:

(i) 识别语言类型,以及

(ii) 然后进行相应的翻译。但是识别一种语言并不是那么容易——它需要大量的计算能量。如果您将要发送的语言写在信的顶部会容易得多 - 这将使您的朋友的生活更轻松。

因此,为了突出显示您正在书写的语言,您只需在信函顶部对语言(例如“法语”)进行注释。

https://i.stack.imgur.com/D2XFr.png

您的朋友如何知道或能够阅读或区分您在信函顶部指定的不同语言类型?这很容易:您事先同意这一点。

将类比与 HTML 联系起来

由于需要通过 Internet 发送不同类型的数据格式,因此预先指定数据类型将允许相应的客户端正确解释并相应地向用户呈现数据。

为什么我们有不同的数据格式?

主要是因为它们服务于不同的目的并具有不同的能力。

例如,PDF 格式与图片格式非常不同 - 这也与声音格式不同 - 两者的用途非常不同,因此在通过 Internet 发送之前的编写方式也不同。


支持泰米尔语:)
P
Peter Mortensen

我无法比维基百科在 Media type 中更好地解释它:

除了电子邮件应用程序,Web 浏览器还支持各种 MIME 类型。这使浏览器能够显示或输出非 HTML 格式的文件。

换句话说,它帮助浏览器(或内容消费者,因为它可能不仅仅是一个浏览器)确定他们将要消费什么内容;这意味着浏览器可能能够决定使用正确的插件来显示内容,或者媒体播放器可能能够加载正确的编解码器或插件。


P
Peter Mortensen

在客户端-服务器模型的上下文中考虑 MIME 很有用。客户端和服务器通过所谓的 HTTP 协议进行通信。在 HTTP 请求或响应中,我们可以有一个主体。 Content-Type 或 MIME 类型指定正文的类型,例如 text/javascript 或其他内容,例如音频、视频等。

但是,MIME 类型不仅限于 HTTP。

顾名思义,MIME 代表多用途 Internet 邮件扩展。最初,SMTP 仅支持 ASCII 编码。但是,需要更多。我们可以使用 MIME 在传输或接收的内容上贴上标签。