MIME

Материал из Википедии — свободной энциклопедии
Текущая версия страницы покане проверялась опытными участниками и может значительно отличаться отверсии, проверенной 13 мая 2018 года; проверки требуют16 правок.
Перейти к навигацииПерейти к поиску
MIME

MIME (/maɪm/,англ. MultipurposeInternetMailExtensions — многоцелевые расширения интернет-почты) —стандарт, описывающий передачу различныхтипов данных поэлектронной почте, а также, в общем случае, спецификация для кодирования информации и форматирования сообщений таким образом, чтобы их можно было пересылать поИнтернету.

Содержание

Введение

[править |править код]

MIME определяет механизмы для передачи разного рода информации внутри текстовых данных (в частности, с помощью электронной почты), а именно: текст на языках, для которых используются кодировки, отличные от ASCII, и нетекстовые данные, такие, как картинки, музыка, фильмы и программы. MIME является также фундаментальным компонентом коммуникационных протоколов, таких какHTTP, которым нужно, чтобы данные передавались в контексте сообщений, подобных e-mail, даже если данные реально не являются e-mail.

Основной формат электронных сообщений определен вRFC 5322, который является обновлённой версиейRFC 2822 (который, в свою очередь, является обновлённой версиейRFC 822). Эти стандарты определяют похожие форматы для текстовых e-mail-заголовков и содержимого и правил, относящихся к общеиспользуемым полям, таким какTo:,Subject:,From: иDate:. MIME определяет набор e-mail-заголовков для определения дополнительных атрибутов сообщения, включая тип контента, и определяет множество кодировок, которые могут быть использованы для представления 8-битных бинарных данных с помощью символов из 7-битного ASCII. MIME также определяет правила для кодирования символов из Extended ASCII (с кодами 128—255) в заголовках e-mail-сообщения, таких какSubject:.

MIME расширяем для новых типов — его определение включает метод для регистрации новых типов контента и других атрибутов.

Организация данных

[править |править код]

Формат MIME поддерживает передачу нескольких сущностей в пределах одного сообщения. Причём сущности могут передаваться не только в виде одноуровневой последовательности, но и в виде иерархии с вложением элементов друг в друга. Для обозначения множественного содержимого используются медиа-типыmultipart/*. Работа с такими типами осуществляется по общим правилам, описанным вRFC 2046 (если иное не определено конкретным медиа-типом). Если получателю неизвестно как работать с типом, то он обрабатывает его так же, какmultipart/mixed.

Для передачи множественного сообщения в заголовокContent-Type добавляется параметрboundary (граница), который обозначает последовательность символов, разделяющих части сообщения. Граница может состоять из цифр, букв и символов'()+_,-./:=?. При использовании специальных символов (не цифр и букв) значение параметраboundary следует заключать в двойные кавычки". Максимальная длина границы — 70 символов[1].

Начало каждой части сообщения обозначается строкой--boundary. Конец последнего сообщения обозначается строкой--boundary--. Самые первыесимволы переноса строки CRLF (коды 13 и 10), которыми начинаются и заканчиваются пограничные строки, не входят в содержимое самой части. Если за ними следуют ещё переносы строк, то они уже принадлежат включаемой части.

Перед первой частью и после последней может быть дополнительный текст. Он называетсяпреамбулой иэпилогом, соответственно. В протоколе HTTP эти элементы игнорируются. В сообщении электронной почты преамбула может содержать текст, выводимый клиентами электронной почты, не понимающими формата MIME.

В самом начале включаемой части располагаются заголовки, описывающие её содержимое (Content-Type,Content-Length и т. п.). Перед непосредственно телом части обязательно должна быть пустая строка, даже если заголовки отсутствуют. Если не определёнContent-Type, то он берётся по умолчанию —text/plain.

Тест Марка Криспина

[править |править код]

Марк Криспин (Mark Crispin), автор протокола IMAP, написал тест для проверки корректности обработки MIME[2].[3] Тест представляет собой письмо в форматеmbox:

Это сумасшедшее письмо! В нём около 30 вложенных друг в друга частей. Очень хороший тест

Оригинальный текст (англ.)

This message is crazy! It has about 30 parts nested inside each other. A very good test

разработчикиSquirrelMail[4]

Стандарты

[править |править код]
RFCДатаТемаОбновлён в (Updated by)Обновляет (Updates)Заменён (Obsoleted by)Заменяет (Obsoletes)
Устаревшие
RFC 82213 августа 1982STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES
(Форматэлектронной почты)
1123, 1138, 1148, 1327, 21562822733 (NIC #41952)
RFC 2048ноябрь 1996MIME Part Four: Registration Procedures3023 —4288, 42891521, 1522, 1590
Текущие
RFC 1556декабрь 1993Handling of Bi-directional Texts in MIME
(Обработка двунаправленных текстов в MIME)
 — — —
RFC 2045ноябрь 1996MIME Part One: Format of Internet Message Bodies
(MIME Часть первая: Формат тела сообщений)
2184, 2231, 5335, 6532 — —1521, 1522, 1590
RFC 2046ноябрь 1996MIME Part Two: Media Types
(MIME Часть вторая: типы содержимого)
2646, 3798, 5147 — —1521, 1522, 1590
RFC 2047ноябрь 1996MIME Part Three: Message Header Extensions for Non-ASCII Text
(MIME Часть третья: Расширения заголовка для не-ASCII-текста)
2184, 2231 — —1521, 1522, 1590
RFC 2049ноябрь 1996MIME Part Five: Conformance Criteria and Examples
(MIME Часть пятая: Соответствие критериям и примеры)
 — — —1521, 1522, 1590
RFC 4288декабрь 2005Media Type Specifications and Registration Procedures — — —2048
RFC 4289декабрь 2005MIME Part Four: Registration Procedures — — —2048
RFC 4855февраль 2007Media Type Registration of RTP Payload Formats — — —

См. также

[править |править код]

Примечания

[править |править код]

Ссылки

[править |править код]
Перейти к шаблону «Схемы URI»
СхемыURI
Официальные
Неофициальные
Перейти к шаблону «Форматы обмена данными»
Форматыcериализационных цифровых данных
Текстовые
Интернет и телекоммуникации
Медиа
Другие
Источник —https://ru.wikipedia.org/w/index.php?title=MIME&oldid=142833764
Категории:
Скрытые категории: