
генерирует для почтовой программы получателя данную информацию о типе
содержимого письма, почтовая программа получателя отображает письмо в
соответствии с этими инструкциями. Фактически этим стандарт MIME выполняет
представительские функции модели OSI, на понимании этого факта необходимо
остановиться особо: письмо содержит не просто данные, которые необходимо
записать на диск в виде файла, письмо должно быть правильно представлено
пользователю, фактически почтовая программа ИНТЕРПРЕТИРУЕТ письмо, слово
ИНТЕРПРЕТИРУЕТ здесь ключевое, для того, чтобы данные не просто были
переданы, но и правильно интерпретированы для получателя, используется
поле Content-type. Действительно, если автор письма создал письмо в формате
HTML и разместил изображение в гипертекстовом документе, это имеет смысл
делать только в том случае, если программа получатель письма сможет
отобразить пользователю данную HTML страницу, использовав HTML теги для
форматирования письма, если почтовая программа просто отобразит в сыром
виде HTML код, то от этого будет не польза, а скорее вред. Итак, еще раз
подчеркиваем, что расширения MIME фактически возлагают на почтового
клиента работу по интерпретации полученного письма, а для правильной
интерпретации данных, их необходимо снабжать сведениями для
интерпретации, т.е. фактически стандарт MIME выполняет представительские
функции OSI. Рассматриваем синтаксис Content-Type: значение представляет
разделенные «/» тип и подтип данных, после которых с разделителем «;»
следуют параметры. Рассмотрим ключевые значения типов:
• text
• image
• audio
• video
• application
• message
• multipart
Данные семь типов определены сегодня в стандарте, как уже было
сказано, с помощью типов почтовая программа отправителя указывает почтовой
программе получателя, какого рода содержимое находится в теле письма.
Использование новых типов возможно, введенных разработчиком программного
обеспечения возможно, при этом тип должен начинаться с символов «x-», тем
самым подчеркивается, что данный тип не является описанных в стандарте.
Использование собственных типов, не начинающихся с данной
последовательности символов осуждается, так как это может в будущем
привести к конфликтам с новыми определенными IANA типами.
Рассмотрим, зачем необходимы подтипы. Положим, отправитель написал
получателю текстовое письмо, но использовал теги HTML для оформления этого
письма, разумеется, почтовому клиенту получателю недостаточно знать, что
письмо имеет тип «text», так же необходимо знать, является ли оно
неформатированным текстом, или текстом, оформленным с помощью HTML.
Другой пример: получатель выяснил, что письмо является изображением
(image), однако существует целый ряд форматов, которые могут использоваться
для представления изображения (gif, jpeg, png и др.), с помощью подтипа
отправитель сообщает получателю, в каком именно формате передано данное
изображение. Отмечаем, что параметры могут применяться в каждом конкретном
случае в зависимости от применяемого типа/подтипа, например, для текстовых
сообщений параметром может служить тип кодировки.
Рассмотрим более детально существующие типы и подтипы: