EN
返回档案库

案例库 · 软件与 IT · 技术决策 · 1992–1996

这条还没译成中文,下面是英文原文。

MIME let email carry anything by adding a content-type header, not a new mail system.

MIME added a content-type header, an encoding rule and multipart boundaries to the RFC mail format, so one message could carry text, a photo or a file.

the IETF · Bellcore · Carnegie Mellon University

那一手

Early internet mail was ASCII-only, so the body of a message could not carry an image or a file in a way every client agreed on. MIME, the Multipurpose Internet Mail Extensions, was devised to change that.

MIME grew out of the Andrew Messaging System at Carnegie Mellon University as a cross-platform data format, and was first specified by co-creator Nathaniel Borenstein and others as RFC 1341 in June 1992; the current version is the RFC 2045/2046/2047 set from 1996.

Its design was deliberately small: a Content-Type header names what the part is, a Content-Transfer-Encoding turns binary into ASCII, and a multipart boundary lets one body contain many parts. The message still travels over SMTP as before.

Because the extension was header-based and optional, each client could add support on its own schedule, and MIME quickly became the standard way to send attachments and rich-text email, and later the basis of the web's own content-type idea.

为什么管用

  • A content-type header tells the receiver what a part is, so it can decode by rule
  • base64 lets arbitrary binary pass through an ASCII-only transport
  • Multipart boundaries let one message hold text and attachments together
  • Because the change was header-level, adoption did not require a common switchover
值了多少Add a header that says what the body is利落

可以搬走什么

To extend a widely deployed system, add a small optional piece of structure, not a new system: a header saying what the payload is lets each implementer adopt it on their own.

后来呢

MIME became the universal container for email attachments and is why the Content-Type header borrowed its idea to describe web resources. The original spec was thin on presentation, so Content-Disposition was added in RFC 2183; in practice many clients still choose the part to display using their own logic rather than the standard's advice.

资料来源

发现哪里写错了?告诉我们。

同一路聪明