MIME 类型
HTTP 会给每种要通过 web 传输的对象都打上 MIME type(Multipurpose Internet Mail Extension 多用途因特网邮件扩展)
MIME类型是一种文本标记, 表示一种主要的对象类型和一个特定的子类型,中间由一条斜杠来标记
- html => text/html
- ascii => text/plain
- jpg => image/jpeg
相关 RFC
- RFC2045 - Format of Internet Message Bodies(因特网报文主体的格式)
- RFC2046 - Media Types(媒体类型)
- RFC2047 - Message Header Extensions for Non-ASCII Text(非ASSCII文本的报文首部扩展)
- RFC2048 - Registration Procedures(注册过程)
- RFC2049 - Conformance Criteria and Examples(一致性标准及实例)
结构
Content-Type: text/html; charset="utf-8"
Accept
语法
- application/*
- audio/*
- chemical/*
- image/*
- message/*
- model/*
- multipart/*
- text/*
- video/*
- other
IANA注册MIME(RFC 2048)
注册树
- IETF(Internet Engineering Task Force) 互联网工程任务组
IETF树用于那些堆因特网来说具有普遍意义的类型, 新的IETF树媒体类型要由IESG(Internet Engineering Steering Group)审批, 并且要有一个附属的标准追踪RFC。
- 厂商(vnd.*)
厂商树用于可商用产品的媒体类型。鼓励大家进行新厂商类型的公开评审,但并不强制这么做。
- 个人(prs.*)
私有,个人或不重要的媒体类型可以注册在个人树中。 这些媒体类型不应该进行商业化发布。
- 实验性(x- or x.)
实验树用于未注册或实验性的媒体类型。
注册过程
基本注册过程不是官方标准过程,只是一个管理过程,目的是短时间内通过IANA(Internet Assigned Numbers Authority)对新类型的完整性检查,将其记录在注册表中。
- 将媒体类型提交给IANA审讯。
- IESG审批
- IANA注册
只有在响应IESG批准某指定申请的通知时,IANA才能在IETF树中注册媒体类型
- 媒体类型一定要像实际的媒体格式一样工作。 像传输编码或字符集那样工作的类型是不能注册为媒体类型的。
- 所有媒体类型都要有适当的类型和子类型名。所有类型名都要由标准追踪RFC定义所有子类型名都必须唯一的,必须与那类名称的MIME语法相符,而且必须包含恰当的树前缀。
- 个人树类型必须提供格式规范或指向格式规范的指针。
- 不要忽略安全问题。