MIME - Version: 1.0
Поле версии указывается в общем заголовке почтового сообщения и относится ко всему сообщению целиком. В отличие от RFC-822 стандарт MIME позволяет перемешивать поля заголовка сообщения с телом сообщения. Поэтому все поля делятся на два класса: общие поля заголовка, которые записываются в начале почтового сообщения, и частные поля заголовка, которые относятся только к отдельным частям составного сообщения и записываются перед ними.
Поле типа содержания тела почтового сообщения (Content type) используется для описания типа данных, которые содержатся в теле почтового сообщения. Это поле сообщает программе чтения почты, какого сорта преобразования необходимы для того, чтобы сообщение правильно проинтерпретировать. Эта же информация используется и программой рассылки при кодировании/декодировании почты. Стандарт MIME определяет семь типов данных, которые можно передавать в теле письма:
· текст (text);
· смешанный тип (multipart);
· почтовое сообщение (message);
· графический образ (image);
· аудиоинформация (audio);
· фильм или видео (video);
· приложение (application).
Text. Этот тип указывает на то, что в теле сообщения содержится текст. Основным подтипом типа text являются:
· plain – соответствует планарному тексту;
· richtext – соответствует размеченному текста, т.е. тексту со встроенными в него символами управления отображением;
· html – соответствует гипертекст, т.е. тексту, который можно просматривать не последовательно, а произвольно, следуя гипертекстовым ссылкам;
Richtext определяет текст со встроенными в него специальными управляющими последовательностями, называемыми тегами, в соответствии со стандартом языка разметки документов SGML (Standard Generalized Markup Language). Теги представляют собой последовательность символов типа <строка символов>.
Разметка гипертекста строится по тому же принципу, что и в тексте типа richtext. При этом могут применяться теги, позволяющие описать гипертекстовые ссылки. К таким тегам относятся <А HREF="......">.....</А>.
Multipart. Этот тип почтового сообщения определяет смешанный документ, который может состоять из данных разного типа. Тип multipart имеет ряд подтипов:
· mixed – может создавать сообщения, состоящие из нескольких фрагментов, которые разделены между собой границей, задаваемой в качестве параметра подтипа;
· alternative – позволяет организовать просмотр почтового сообщения с возможностью выбора в зависимости от типа программы просмотра;
· digest – предназначен для многоцелевого почтового сообщения, когда различным частям хотят приписать более детальную информацию, чем просто тип;
· parallel – предназначен для составления такого почтового сообщения, части которого должны отображаться одновременно, что предполагает запуск сразу нескольких программ просмотра.
Message. Этот тип предназначен для работы с обычными почтовыми сообщениями, которые не могут быть переданы по разного рода причинам, объясняемым подтипами данного типа:
· partial – предназначен для передачи одного большого сообщения по частям. Атрибуты подтипа определяют идентификатор сообщения (id), номер порции (number) и общее число порций (total). Каждая часть имеет свое поле Content type, что означает – все сообщение может состоять из частей разных типов;
· external body – позволяет ссылаться на внешние относительно сообщения информационные источники;
· rfc822 – определяет типы описания нетекстовой информации по стандарту RFC-822. Таких типов имеется четыре:
- image – для описания графических образов (наиболее часто используются файлы форматов GIF и JPEG);
- audio – для описания аудиоинформации (для воспроизведения сообщения данного типа требуется специальное оборудование);
- video – для передачи видеоизображений (наиболее популярным является формат MPEG);
- application – для передачи данных любого другого формата.
Обычно используется для передачи двоичных данных с последующим промежуточным преобразованием. Так, если на машине стоит видеокарта с 512 Кбайт памяти, а графика подготовлена в 256 цветах, то сначала ее следует преобразовать, и здесь может помочь тип application. Основной подтип данного типа - octet stream, но существуют ODA и postscript;
Поле типа кодирования почтового сообщения (Content-Transfer-Encoding) <pclass=just>. Многие данные передаются по почте в их исходном виде. Это могут быть 7-, 8-битные символы, 64-base символы и т.п. Однако при работе в разнородных почтовых средах необходимо определить механизм их представления в стандартном виде - US - ASCII. Для этого существуют процедуры кодирования такого рода данных. Наиболее широко применяемая - uuencode. Для того чтобы при получении данные были правильно распакованы, в стандарт введено поле Content-Transfer-Encoding. Синтаксис этого поля следующий:
Content-Transfer-Encoding:="BASE64"/"QUOTED-PRINTABLE"/"8ВГГ/ "7ВГГ/"BINARY"/x-token
Каждая из альтернатив применяется в подходящем случае. Альтернативы 8bit, 7bit, BINARY реально никакого преобразования не требуют, так как почта передается байтами и SMTP не делает различия между ними. Однако они введены для строгости описания типов. BASE64 обычно используется в связке с типом text/ ISO - 8859 - 1. Элемент x-token позволяет пользователю описать свою процедуру преобразования.
Дополнительные необязательные поля. Стандарт определяет еще два дополнительных поля: Content-ID и Content-Description. Первое поле определяет уникальный идентификатор содержания, а второе служит для комментария. Ни то, ни другое программами просмотра обычно не отображаются.
Стандарт MIME позволяет расширить область применения электронной почты, обеспечить доступ к другим информационным ресурсам сети в стандартных форматах.
В 1989 г. гипертекст представлял новую многообещающую технологию, которая имела относительно большое число реализаций, с одной стороны, а с другой стороны, делались попытки построить формальные модели гипертекстовых систем, которые носили скорее описательный характер и были навеяны успехом реляционного подхода описания данных. Идея создания системы WWW заключалась в том, чтобы применить гипертекстовую модель к информационным ресурсам, распределенным в сети, и сделать это максимально простым способом. Она заложила три краеугольных камня системы из четырех существующих ныне, разработав:
· язык гипертекстовой разметки документов HTML (HyperText Markup Language);
· универсальный способ адресации ресурсов в сети URL (Universal Resource Locator);
· протокол обмена гипертекстовой информацией HTTP (HyperText Transfer Protocol).
Позже команда NCSA добавила к этим трем компонентам четвертый:
· универсальный интерфейс шлюзов CGI (Common Gateway Interface).
Язык программирования Java не включается в этот список намеренно, так как область применения этого языка гораздо шире, чем простое «оживление» World Wide Web.
Идея HTML – пример чрезвычайно удачного решения проблемы построения гипертекстовой системы при помощи специального средства управления отображением. На разработку языка гипертекстовой разметки существенное влияние оказали два фактора:
1) исследования в области интерфейсов гипертекстовых систем;
2) желание обеспечить простой и быстрый способ создания гипертекстовой базы данных, распределенной в сети.
В 1989 г. активно обсуждалась проблема интерфейса гипертекстовых систем, т.е. способов отображения гипертекстовой информации и навигации в гипертекстовой сети. Значение гипертекстовой технологии сравнивали со значением книгопечатания. Утверждалось, что лист бумаги и компьютерные средства отображения/воспроизведения серьезно отличаются друг от друга, и поэтому форма представления информации тоже должна отличаться. Наиболее эффективной формой организации гипертекста были признаны контекстные гипертекстовые ссылки, а кроме того, было признано деление на ссылки, ассоциированные со всем документом в целом и с отдельными его частями.
Обычно гипертекстовые системы имеют специальные программные средства построения гипертекстовых связей. Сами гипертекстовые ссылки хранятся в специальных форматах или даже составляют специальные файлы. Такой подход хорош для локальной системы, но не для распределенной на множестве различных компьютерных платформ. В HTML гипертекстовые ссылки встроены в тело документа и хранятся как его часть. Часто в системах применяют специальные форматы хранения данных для повышения эффективности доступа. В WWW-документах это обычные ASCII-файлы, которые можно подготовить в любом текстовом редакторе. Таким образом, проблема создания гипертекстовой базы данных была решена чрезвычайно просто.
С момента разработки первой версии языка (HTML 1.0) он значительно развился: увеличилось число элементов разметки, оформление документов все больше приближается к оформлению качественных печатных изданий, развиваются средства описания нетекстовых информационных ресурсов и способы взаимодействия с прикладным программным обеспечением. Совершенствуется механизм разработки типовых стилей. Фактически, в настоящее время HTML развивается в сторону создания стандартного языка разработки интерфейсов как локальных, так и распределенных систем.
Вторым краеугольным камнем WWW стала универсальная форма адресации информационных ресурсов (Universal Resource Identification, URI), представляющая собой довольно стройную систему, учитывающую опыт адресации и идентификации E-mail, Gopher, WAIS, Telnet, FTP и т.п. Но реально из всего, что описано в URI, для организации баз данных в WWW требуется только Universal Resource Locator (URL). Без наличия этой спецификации вся мощь HTML оказалась бы бесполезной. URL используется в гипертекстовых ссылках и обеспечивает доступ к распределенным ресурсам сети. В URL можно адресовать как другие гипертекстовые документы формата HTML, так и ресурсы E-mail, Telnet, FTP, Gopher, WAIS. Различные программы различным образом осуществляют доступ к этим ресурсам. Следует отметить, что программы обработки электронной почты в формате MIME также имеют возможность отображать документы, представленные в формате HTML. Для этой цели в MIME зарезервирован тип text/html.