MIME

MIME

一、定义

MIME (Multipurpose Internet Mail Extensions),多用途互联网邮件扩展类型。

二、产生原因

传统的电子邮件协议规定,电子邮件只能使用ASCII字符,这致使:

  • 非英文字符无法显示
  • 二进制文件(如图片)无法显示
  • 电子邮件不能有附件

为了使邮件可以传输多种信息格式和内容,提出了MIME。

三、内容

MIME对传统电子邮件的扩展,表现在它在信件头部分添加了几条语句,主要有三条:

  • MIME-Version: 1.0

    这条语句是必须的,而且1.0这个版本值是不变的,即使MIME本身已经升级了好几次。

  • Content-Type: text/plain; charset=“ISO-8859-1”

    • Content-Type

      表明信息类型,缺省值为" text/plain"。它包含了主要类型(primary type)和次要类型(subtype)两个部分,两者之间用"/"分割。主要类型有9种,分别是application、audio、example、image、message、model、multipart、text、video。

    • charset

      表明编码类型,缺省值是ASCII,其他可能值有"ISO-8859-1"、“UTF-8”、"GB2312"等等。

  • Content-transfer-encoding: base64

    表明编码转换的方式。

    缺省值是"7bit",其他四种为"7bit"、“8bit”、“binary”、“quoted-printable"和"base64”

    其中,"base64"是MIME提供的一种

四、功能

在邮件协议和HTTP协议中,标注传输数据的格式,帮助邮件系统或者浏览器识别返回的是什么内容的数据,应该如何打开,如何显示。

五、使用

  • 注册

    可以根据自己的需要向IANA注册MIME(RFC2048),包括:

    • media types
    • external body access types
    • content-transfer-encodings
  • 邮件协议

  • HTTP协议

常见问题

有文件后缀名,为什么还需要MIME?

文件扩展名是DOS等操作系统用来标志文件格式的一种机制,用于指示操作系统打开文件的方式。这种指示不是强制的,即用户可以通过任何方式,通知操作系统打开文件。

MIME则是用在邮件系统和浏览器中,指示打开文件的方式

对于服务器上的静态网页,网址对应的文件类型和MIME type类型一致,但是

  • 动态网页中,网址文件名的关系也不再紧密,一张图片的网址所返回的MIME type是固定的(比如image/jpeg),但它的本体对应的可能是服务器上的一个文件,也可能是缓存中的一段数据,还可能是数据库中的一个字段,甚至是程序代码动态生成的图像;
  • 随着restful风格的URL的流行,网址中已经看不到文件名的踪影。

因此,需要MIME对网络中传输的文件类型进行说明,以指示打开方式。

参考文献

https://www.w3school.com.cn/media/media_mimeref.asp MIME参考-W3Cschool

https://www.zhihu.com/question/60495696/answer/204530120 既然有文件后缀名,为何还需要MIME类型? - 知乎

ruanyifeng.com/blog/2008/06/mime.html MIME笔记-阮一峰

官方MIME规范

Internet工程任务组(IETF)在以下文档中提供了有关MIME格式的确定信息:

  • ARP- Internet文本消息格式的RFC-822标准
  • RFC-2045多用途Internet邮件扩展(MIME)第一部分:Internet邮件正文的格式
  • RFC-2046多用途Internet邮件扩展(MIME)第二部分:媒体类型
  • RFC-2047多用途Internet邮件扩展(MIME)第三部分:非ASCII文本的邮件头扩展
  • RFC-2048多用途Internet邮件扩展(MIME)第四部分:注册过程
  • RFC-2049多用途Internet邮件扩展(MIME)第五部分:一致性标准和示例
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值