MIME

Multipurpose Internet Mail Extensions (MIME, англ. Multipurpose Internet Mail Extension — многоцелевые расширения почты интернета, произносится как «майм») — стандарт, описывающий передачу различных типов данных по электронной почте, а также, шире, спецификация для кодирования информации и форматирования сообщений таким образом, чтобы их можно было пересылать по Интернету.

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

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

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

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

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

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

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

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

 

Стандарты

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

Теги: , , , ,

Трекбэк с Вашего сайта.

Отправить ответ

Оставьте первый комментарий!

Сообщать о
avatar
wpDiscuz