我一直在阅读关于如何构建插件的文章,其中一直在讨论这个“MIME类型”。我已经试着看看它,知道它是多用途互联网邮件扩展(MIME),但没有适当的解释它是如何与浏览器插件,因为在我需要知道关于它构建插件,提供,请解释清楚和简单的话。是什么?为什么插件有MIME类型?
我不可能比维基百科在媒体类型中更好地解释它:
除了电子邮件应用程序,Web浏览器还支持各种MIME类型。这使浏览器能够显示或输出非HTML格式的文件。
换句话说,它帮助浏览器(或内容消费者,因为它可能不仅仅是一个浏览器)确定他们将要消费的内容;这意味着浏览器可以决定使用正确的插件来显示内容,或者媒体播放器可以加载正确的编解码器或插件。
MIME类型是用于标识数据类型的标签。使用它是为了让软件知道如何处理数据。它在Internet上的作用与微软Windows上的文件扩展名相同。
因此,如果服务器说“这是文本/html”,客户端就会说“啊,这是html文档,我可以在内部渲染它”,而如果服务器说“这是应用程序/pdf”,客户端就会说“啊,我需要启动用户安装的FoxIt pdf阅读器插件,这个插件已经注册为应用程序/pdf处理程序了。”
最常见的是在HTTP消息的头部(描述HTTP服务器响应的内容或请求中post的数据格式)和电子邮件头部(描述消息格式和附件)中找到它们。
MIME代表多用途互联网邮件扩展。MIME类型是Internet上对文件类型进行分类的一种标准方法。像Web服务器和浏览器这样的Internet程序都有一个MIME类型列表,这样它们就可以以相同的方式传输相同类型的文件,无论它们运行在什么操作系统中。
MIME类型有两部分:类型和子类型。它们之间用斜杠(/)隔开。例如,Microsoft Word文件的MIME类型是application,子类型是msword。总的来说,完整的MIME类型是application/msword。
虽然有一个完整的MIME类型列表,但它没有列出与文件相关的扩展名,也没有文件类型的描述。这意味着,如果您想为某种文件找到MIME类型,可能会很困难。有时您必须查看列表并猜测您所关心的文件的MIME类型。
MIME代表多用途互联网邮件扩展。这是一种根据文件的性质和格式在互联网上识别文件的方法。
例如,使用在HTTP响应中定义的Content-type头值,浏览器可以使用适当的扩展/插件打开文件。
Internet媒体类型(也称为Content-type)与MIME类型相同。MIME类型最初是为使用SMTP协议发送的电子邮件创建的。如今,该标准被用于许多其他协议,因此有了新的命名约定“互联网媒体类型”。
MIME类型是由两部分组成的字符串标识符:类型和子类型。
“类型”指的是许多相互密切相关的MIME类型的逻辑分组;这只不过是一个高层次的分类。 “子类型”是特定于“类型”中的一种文件类型。
MIME子类型的x前缀仅仅意味着它是非标准的。 vnd前缀意味着MIME值是特定于供应商的。
源
类比解释
场景1:
想象有人给你寄了这封信:
嗨,你好吗?印度人民党内部人士的最新报道/贿赂是什么?
这是什么意思?考虑一下所涉及的步骤:
首先,确定语言.....(是泰米尔语吗?)....识别语言需要大量的计算能量:你要检查世界上所有的语言吗? 只有在识别语言之后,你才能解码。
场景2:
语言:马拉雅拉姆语(见翻译链接) 嗨,你好吗?印度人民党内部人士的最新报道/贿赂是什么?
现在,语言是预先确定的(马拉雅拉姆语,而不是泰米尔语),并写在信上。工作已经完成了一半,现在可以继续解码了。
把这个类比与HTML联系起来
因为有不同类型的数据格式,通过互联网发送:预先指定数据类型将允许相应的客户端正确地解释和呈现数据,而很少进行计算工作。
记住,计算机使用1和0进行通信。这是当html被发送给你时发生的事情:
Mime类型:mp3 1001010101.... Mime类型:PDF 1001010101....
一旦你知道了mime类型,你就可以播放音频,并查看PDF。
在客户机-服务器模型的上下文中考虑MIME是很有用的。客户机和服务器通过所谓的HTTP协议进行通信。在HTTP请求或响应中,我们可以有一个主体。Content-Type或MIME类型指定了正文的类型,如文本/javascript或其他内容,如音频、视频等。
然而,MIME类型并不仅限于HTTP。
顾名思义,MIME代表多用途互联网邮件扩展。最初,SMTP只支持ascii编码。然而,还需要更多。我们可以使用MIME在正在传输或接收的内容上添加标签。
推荐文章
- 编辑和重放XHR chrome/firefox等?
- 我如何修复WebStorm警告“未解决的功能或方法”为“要求”(Firefox插件SDK)
- javascript变量名的{大括号}是什么意思
- 使用.NET,如何根据文件签名而不是扩展名找到文件的mime类型
- 如何在上传前用JavaScript检查文件MIME类型?
- 选项卡或窗口之间的通信
- 基于cookie的身份验证是如何工作的?
- 如何强制文件在浏览器中打开而不是下载(PDF)?
- 对于特定于我的程序的二进制文件使用哪种MIME类型?
- 自动检测手机浏览器(通过用户代理?)
- 我如何能得到滚动条的位置与JavaScript?
- 当CSS规则在Chrome的元素检查器中变灰时,这意味着什么?
- 适合.woff2字体的MIME类型
- 当你在浏览器中输入URL时会发生什么
- 如何让JavaScript发出哔哔声?