3.2.3.2. Поле типа содержания тела почтового сообщения (Content-Type)
Поле типа используется для описания типа данных, которые содержатся в теле почтового сообщения. Это поле сообщает программе чтения почты, какого сорта преобразования необходимы для того, чтобы сообщение правильно проинтерпретировать. Эта же информация используется и программой рассылки при кодировании/декодировании почты. Стандарт MIME определяет семь типов данных, которые можно передавать в теле письма:
-
текст (text);
-
смешанный тип (multipart);
-
почтовое сообщение (message);
-
графический образ (image);
-
аудио-информация (audio);
-
фильм или видео (video);
-
приложение (application).
Общая форма записи поля выглядит в записи Бекуса-Наура следующим образом:
Content-Type := type "/" subtype *[";" parameter]
type := "application" / "audio"
/ "image" / "message"
/ "multipart" / "text"
/ "video" / x-token
x-token := <Два символа "X-", за которыми без пробела
следует последовательность любых символов>
subtype := token
parameter := attribute "=" value
attribute := token
value := token / quoted-string
token := 1*<любой символ кроме пробела и управляющего символа,
или tspecials>
tspecials := "(" / ")" / "<" / ">" / "@" ; Обязательно
/ "," / ";" / ":" / "\" / <"> ; должны быть,
/ "/" / "[" / "]" / "?" / "." ; заключены в
/ "=" ; кавычки.
Остановимся подробнее на каждом из типов, разрешенных стандартом MIME.
Text. Этот тип указывает на то, что в теле сообщения содержится текст. Основным подтипом типа "text" является "plain", что обозначает так называемый планарный текст. Понятие планарного текста появилось в связи с тем, что существует еще размеченный текст, т.е. текст со встроенными в него символами управления отображением, и гипертекст, т.е. текст, который можно просматривать не последовательно, а произвольно, следуя гипертекстовым ссылкам. Для обозначения размеченного текста используют подтип "richtext", а для обозначения гипертекста - подтип "html". Вообще говоря, "html" - это специальный вид размеченного текста, который используется для представления гипертекстовой информации в системе World Wide Web, которая получила в последнее время широкое распространение в Internet. Понятие размеченного текста требует более подробного обсуждения, так как его передача и интерпретация являются одной из причин появления стандарта MIME.
"Richtext" определяет текст со встроенными в него специальными управляющими последовательностями, которые в соответствии со стандартом языка разметки документов SGML (Standard Generalized Markup Language) называются тагами. Таги представляют из себя последовательность символов типа "<строка-символов>". "Строка-символов" определяет управляющее действие. Таги делятся на таги начала элемента текста ("<......>") и таги конца элемента текста ("</......>"). В качестве примера такой разметки можно привести следующий фрагмент текста:
<bold>Now</bold> is the time for
<italic>all</italic> good men
<smaller>(and <lt>women>)</smaller> to
<ignoreme></ignoreme> come
to the aid of their
<nl>
В этом фрагменте <bold> означает выделение "жирным" шрифтом, <italic> - курсив, <smaller> - мелкий шрифт, <lt> - знак "<", игнорирование обозначено как <ignoreme>, новая строка как <nl>. Далее приведен полный перечень управляющих последовательностей:
Bold | "жирный" шрифт |
Italic | курсив |
Fixed | causes the subsequent text to be in a fixed width font |
Smaller | уменьшенный шрифт |
Bigger | увеличенный шрифт |
Underline | подчеркнутый текст |
Center | отцентрированный текст |
FlushLeft | выровненный по левому краю |
FlushRight | выровненный по правому краю |
Indent | отступ от левого края |
IndentRight | отступ от правого края |
Outdent | отмена левого отступа |
OutdentRight | отмена правого отступа |
SamePage | размещение текста на одной странице |
Subscript | подстрочный текст |
Superscript | надстрочный текст |
Heading | заголовок |
Footing | текст ссылки |
ISO-8859-X | текст в кодировке ISO-8859-X |
US-ASCII | текст в кодировке US-ASCII |
Excerpt | цитата |
Paragraph | параграф |
Signature | автограф (подпись) |
Comment | комментарий (не отображается) |
No-op | нет операции |
lt | знак "меньше"("<") |
nl | новая строка |
np | новая страница |
Специальный тип разметки задается подтипом "html". Это так называемый гипертекст. Разметка гипертекста строится по тому же принципу, как и в тексте типа "richtext". Однако применяются таги, позволяющие описать гипертекстовые ссылки. К таким тагам относятся "<A HREF="......">.....</A>", <IMG ....>, <A NAME="...."></A>. Таг "<A HREF="......"> .......</A>" определяет следующий фрагмент текста, который будет просматриваться. При этом текст между тагом начала и тагом конца выделяется в программе просмотра цветом или другим способом и используется как контекстная гипертекстовая ссылка. Таг <IMG .....> задет встроенный в текст документа графический образ. В некотором смысле этот таг аналогичен "multipart", который разрешает комбинировать сообщение из нескольких фрагментов разного типа. Таг <A NAME...> определяет "якорь", т.е. место внутри документа, на которое можно сослаться как на метку. В качестве примера такой разметки текста можно привести следующий фрагмент:
Это пример разметки документа в формате HTML.
<H1> Это заголовок документа</H1>
<P> - Это параграф.
<A HREF="test.html#mark1"> Это пример гипертекстовой ссылки.</A>
<IMG SRC="test.gif" ALIGN=Bottom> Это встроенный image.
<A NAME="mark1"></A> Это "якорь" внутри текста документа.
Multipart. Этот тип содержания тела почтового сообщения определяет смешанный документ. Смешанный документ может состоять из фрагментов данных разного типа. Данный тип имеет ряд подтипов.
Подтип "mixed" может создавать сообщения, состоящие из нескольких фрагментов, которые разделены между собой границей, задаваемой в качестве параметра подтипа. Приведем простой пример:
From: Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com>
Subject: Sample message
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="simple boundary"
This is the preamble. It is to be ignored, though it is
a handy place for mail composers to include an explanatory
note to non-MIME compliant read ers.
--simple boundary
This is implicitly typed plain ASCII text.
It does NOT end with a linebreak.
--simple boundary
Content-type: text/plain; charset=us-ascii
This is explicitly typed plain ASCII text.
It DOES end with a linebreak.
--simple boundary--
This is the epilogue. It is also to be ignored.
В данном примере поле "Content-Type" определяет подтип "mixed" и границу между фрагментами, как строку "--simple boundary--". В начале каждого фрагмента может быть задана своя строка с полем "Content-Type". Как видно из примера, существует два фрагмента, которые не отображаются: преамбула и эпилог, в которые можно поместить комментарии.
Другим подтипом может быть подтип "alternative". Данный подтип позволяет организовать вариабельный просмотр почтового сообщения в зависимости от типа программы просмотра. Приведем пример:
From: Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com>
Subject: Formatted text mail
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary=boundary42
--boundary42
Content-Type: text/plain; charset=us-ascii
...plain text version of message goes here....
--boundary42
Content-Type: text/richtext
.... richtext version of same message goes here ...
--boundary42
Content-Type: text/x-whatever
.... fanciest formatted version of same message goes here
...
--boundary42--
В этом примере для работы с планарным текстом при использовании алфавитно-цифровых программ просмотра предназначен первый фрагмент текста. Для просмотра размеченного текста используется второй фрагмент, для специальной программы просмотра может быть подготовлен специальный вариант (фрагмент 3).
Подтип "digest" предназначен для многоцелевого почтового сообщения, когда различным частям хотят приписать более детальную информацию, чем просто тип:
From: Moderator-Address
MIME-Version: 1.0
Subject: Internet Digest, volume 42
Content-Type: multipart/digest;
boundary="---- next message ----"
------ next message ----
From: someone-else
Subject: my opinion
...body goes here ...
------ next message ----
From: someone-else-again
Subject: my different opinion
... another body goes here...
------ next message ------
Приведенный пример показывает как можно воспользоваться подтипом "digest" для рассылки разным пользователям и по разному поводу почты, используя поля "From" и "Subject" в качестве частных заголовков.
Подтип "parallel" предназначен для составления такого почтового сообщения, части которого должны отображаться одновременно, что предполагает запуск сразу нескольких программ просмотра. Синтаксис такого сообщения аналогичен рассмотренным выше.
Тип "message" предназначен для работы с обычными почтовыми сообщениями, которые однако не могут быть переданы по почте по разного рода причинам. Эти причины объясняются подтипами данного типа.
Подтип "partial" предназначен для передачи одного большого сообщения по частям для последующей автоматической сборки у получателя. Приведем пример передачи аудио-сообщения разбитого на части:
X-Weird-Header-1: Foo
From: Bill@host.com
To: joe@otherhost.com
Subject: Audio mail
Message-ID: id1@host.com
MIME-Version: 1.0
Content-type: message/partial;
id="ABC@host.com";
number=1; total=2
X-Weird-Header-1: Bar
X-Weird-Header-2: Hello
Message-ID: anotherid@foo.com
Content-type: audio/basic
Content-transfer-encoding: base64
... first half of encoded audio data goes here...
and the second half might look something like this:
From: Bill@host.com
To: joe@otherhost.com
Subject: Audio mail
MIME-Version: 1.0
Message-ID: id2@host.com
Content-type: message/partial;
id="ABC@host.com"; number=2; total=2
... second half of encoded audio data goes here...
Атрибуты подтипа определяют идентификатор сообщения (id), номер порции (number) и общее число порций (total). Следует обратить внимание на то, что каждая часть имеет свое поле "Content-Type". Это означает, что все сообщение может состоять из частей разных типов.
Другим подтипом является "External-Body", который позволяет ссылаться на внешние, относительно сообщения, информационные источники. Приведем конкретный пример:
From: Whomever
Subject: whatever
MIME-Version: 1.0
Message-ID: id1@host.com
Content-Type: multipart/alternative; boundary=42
--42
Content-Type: message/external-body;
name="BodyFormats.ps";
site="thumper.bellcore.com";
access-type=ANON-FTP;
directory="pub";
mode="image";
expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
Content-type: application/postscript
--42
Content-Type: message/external-body;
name="/u/nsb/writing/rfcs/RFC-XXXX.ps";
site="thumper.bellcore.com";
access-type=AFS
expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
Content-type: application/postscript
--42
Content-Type: message/external-body;
access-type=mail-server
server="listserv@bogus.bitnet";
expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
Content-type: application/postscript
get rfc-xxxx doc
--42--
В данном примере использованы "External-Body" и "multipart/alternative". Все сообщение разбито на несколько фрагментов. В каждом из фрагментов находится ссылка на внешний файл. Реально, тела почтового сообщения нет (границы программами просмотра не отображаются). Однако, если программа просмотра способна работать с внешними протоколами, то можно ссылки разрешить автоматически, запуская соответствующий сервис.
Стандартным подтипом типа "message" является "rfc822". Данный подтип определяет сообщения стандарта RFC-822.
Типы описания нетекстовой информации. Таких типов имеется четыре:
-
"image" для описания графических образов. Наиболее часто используются файлы форматов GIF и JPEG.
-
"audio" для описания аудио-информации. Для воспроизведения сообщения данного типа требуется специальное оборудование.
-
"video" для передачи фильмов. Наиболее популярным является формат MPEG.
-
"application" для передачи данных любого другого формата. Обычно используется для передачи двоичных данных с последующим промежуточным преобразованием. Так, если на машине стоит видео-карта с 512Kb памяти, а графика подготовлена в 256 цветах, то сначала ее следует преобразовать и здесь может помочь тип "application". Основной подтип данного типа - "octet-stream", но существуют "ODA" и "Postscript". Назначение данных подтипов ясно из названия - обозначение данных для последующей обработки как данных в форматах, определяемых подтипом.
- Администрирование в информационных системах
- Глава 1. Информационные процессы в системах управления. Цели, задачи и функции администрирования в информационных системах
- Глава 2. Программное и техническое обеспечение современных ис и технологий управления организацией
- Глава 3. Методология построения администрирования и его средства
- Глава 4. Обеспечение иб в администрировании ис
- Глава 5. Управление конфигурацией и ресурсами ис
- Глава 6. Сетевые службы и их мониторинг
- Глава 7. Управление пользователями, сетевыми службами, дисками, службой печати
- 1.Теория администрирования сетей tcp/ip
- 1.1. Организация сети tcp/ip
- 1.2. Межсетевой обмен в сетях tcp/ip
- 1.3. Основные протоколы стека tcp/ip
- IPing - новое поколение протоколов ip
- 1.4. Принципы построения ip-адресов
- 1.5. Подсети
- 1.6.Порты и сокеты
- 1.7.Основные принципы ip-маршрутизации
- 1.8.Информационные сервисы Internet
- 1.9 Система Доменных Имен
- 1.10 Электронная почта в Internet
- 1.11 Взаимодействие отдельных эвм друг с другом
- 1.12 Обмен файлами. Служба ftp
- 2. Администрирование сетей
- 2.1. Учетные записи и группы безопасности
- 2.1.1. Понятие пользовательской учетной записи
- 2.1.2.Встроенные пользовательские учетные записи Windows 2000/xp
- 2.1.3. Группы безопасности
- 2.1.4.Типы учетных записей
- 2.1.5. Встроенные группы безопасности
- 2.2. Администрирование файлов и папок
- 2.2.1. Режимы доступа к папкам
- 2.2.2. Права доступа
- 2.3.3 Права доступа при копировании (перемещении) файлов.
- 2.3. Сервисы сетей ncp/ip
- 2.3.1. Протокол динамической конфигурации клиентских машин
- Администрирование информационных систем Правила эксплуатации и ответственные за их соблюдение
- Проектирование информационных систем и их приемка
- Защита от вредоносного программного обеспечения
- Обслуживание систем
- Сетевое администрирование
- Защита носителей информации
- Обмен данными и программным обеспечением
- Проблема организации администрирования крупных информационных систем.
- Администрирование в информационных системах
- 1. Ведение. Основные проблемы администрирования сетей tcp/ip и информационных технологий Internet
- 1.1. Организация сети tcp/ip
- 1.2. Подключениe локальной или корпоративной сети к Internet
- 1.3. Маршрутизация в сетях tcp/ip
- 1.4. Система доменных имен
- 1.5. Обмен электронной почтой
- 1.6. Организация информационного обслуживания на основе технологий Internet
- 1.7. Проблемы безопасности сетей tcp/ip
- 2. Основы межсетевого обмена в сетях tcp/ip
- 2.1. Структура стека протоколов tcp/ip
- 2.2. Основные протоколы стека tcp/ip
- 2.2.1. Протоколы slip и ppp
- 2.2.2. Протокол arp. Отображение канального уровня на уровень межсетевого обмена
- 2.2.3. Протокол ip
- 2.8. Формат пакета Ipv4
- 2.2.4. IPing - новое поколение протоколов ip
- 2.3. Принципы построения ip-адресов
- 2.4. Подсети
- 2.5. Порты и сокеты
- 2.6. Основные принципы ip-маршрутизации
- 2.7. Настройка операционной системы и сетевые интерфейсы
- 2.8. Настройка сетевых интерфейсов
- 2.8.1. Настройка Ethernet-интерфейса
- 2.8.2. Настройка slip
- 2.8.3. Настройка интерфейса ppp
- 2.9. Маршрутизация, протоколы динамической маршрутизации, средства управления маршрутами
- 2.9.1. Статическая маршрутизация
- 2.9.2. Динамическая маршрутизация
- 2.9.3. Программа routed
- 2.9.4. Программа gated
- 2.10 Анализ и фильтрация tcp/ip пакетов
- 3. Информационные сервисы Internet
- 3.1. Система Доменных Имен
- 3.1.1. Принципы организации dns
- 3.1.3. Регистрация доменных имен
- 3.1.4. Серверы доменных имен и механизм поиска ip-адреса
- 3.1.5. Настройка resolver
- 3.1.6. Программа named
- 3.1.6.1. Файлы настройки named
- 3.1.6.2. Запись "Start Of Authority"
- 3.1.6.3. Запись "Name Server"
- 3.1.6.4. Адресная запись "Address"
- 3.1.6.5. Запись Mail eXchanger
- 3.1.6.6. Запись назначения синонима каноническому имени "Canonical Name"
- 3.1.6.7. Записи типа "Pointer"
- 3.1.6.8. Запись типа hinfo
- 3.1.6.9. Запись определения информационных сервисов "Well Known Services"
- 3.1.6.10. Команды описания зоны
- 3.1.6.11. Файлы описания зоны
- 3.1.7. Примеры настроек программы named и описания зон
- 3.1.7.1. Небольшой поддомен в домене ru
- 3.1.7.2. Описание "прямой" и "обратной" зон для поддомена определенного на двух подсетях
- 3.1.7.3. Делегирование поддомена внутри домена
- 3.1.8. Программа nslookup
- 3.1.9. Dns и безопасность
- 3.2. Электронная почта в Internet
- 3.2.1. Принципы организации
- 3.2.2. Формат почтового сообщения (rfc-822)
- 3.2.3. Формат представления почтовых сообщений mime и его влияние на информационные технологии Internet
- 3.2.3.1. Поле версии mime (mime-Version)
- 3.2.3.2. Поле типа содержания тела почтового сообщения (Content-Type)
- 3.2.3.3. Поле типа кодирования почтового сообщения (Content-Transfer-Encoding)
- 3.2.3.4. Дополнительные необязательные поля
- 3.2.4. Протокол обмена почтой smtp (Simple Mail Transfer Protocol)
- 3.2.5. Интерфейс Eudora
- 3.2.6. Системы почтовой рассылки (программа sendmail)
- 3.2.6.1. Принцип работы программы sendmail
- 3.2.7. Настройка программы sendmail
- 3.2.7.1. Тестирование Sendmail и способы запуска
- 3.3. Эмуляция удаленного терминала. Удаленный доступ к ресурсам сети
- 3.3.1. Протокол Telnet
- 3.3.2. Интерфейс пользователя (telnet) и демон (telnetd)
- 3.3.2.1. Программа-сервер (telnetd)
- 3.3.2.2. Программа-клиент (telnet)
- 3.3.3. Организация модемных пулов, настройка оборудования. Квоты пользователей
- 3.4. Обмен файлами. Служба архивов ftp
- 3.4.1. Типы информационных ресурсов
- 3.4.2. Протокол ftp
- 3.4.3. Сервер протокола - программа ftpd
- 3.5. Администрирование серверов World Wide Web
- 3.5.1. История развития, отцы-основатели, современное состояние
- 3.5.2. Понятие гипертекста
- 3.5.3. Основные компоненты технологии World Wide Web
- 3.5.4. Архитектура построения системы
- 3.5.4.1. Язык гипертекстовой разметки html
- 3.5.4.2. Принципы построения и интерпретации html
- 3.5.5. Протокол обмена гипертекстовой информацией (HyperText Transfer Protocol, http 1.0.)
- 3.5.5.1. Форма запроса клиента
- 3.5.5.2. Методы доступа
- 3.5.5.3. Ответ сервера
- 3.5.5.4. Защита сервера от несанкционированного доступа
- 3.5.6. Universal Resource Identifier - универсальный идентификатор. Спецификация универсального адреса информационного ресурса в сети
- 3.5.6.1. Принципы построения адреса www
- 3.5.6.2. Схемы адресации ресурсов Internet
- 3.5.7. Common Gateway Interface - средство расширения возможностей технологии World Wide Web
- 3.5.7.1. Механизмы обмена данными
- 3.5.7.2. Практика применения скриптов cgi
- 3.5.8. Выбор и установка сервера протокола http и другого программного обеспечения базы данных World Wide Web
- 3.5.8.1. Структура базы данных сервера www
- 3.5.8.2. Редакторы html-документов
- 3.5.8.3. Графические редакторы и их особенности
- 3.5.8.4. Серверы протокола http
- 3.5.8.5. Выбор, установка и настройка сервера
- 3.5.8.6. Обслуживание запросов
- 3.5.9. Организация информационной службы на основе технологии World Wide Web
- 3.5.9.1. Статистика доступа к системе и ее анализ
- 3.6. Информационно-поисковые системы Internet
- 3.6.1. Архитектура современных информационно-поисковых систем World Wide Web
- 3.6.2. Информационные ресурсы и их представление в информационно-поисковой системе
- 3.6.3. Информационно-поисковый язык системы
- 3.6.4. Типы информационно-поисковых языков
- 3.6.5. Традиционные информационно-поисковые языки и их модификации
- 3.6.6. Информационно-поисковые языки Internet
- 3.6.7. Интерфейс системы
- 5. Литература
- Администрирование сети и сервисов internet учебное пособие
- Содержание
- Введение в ip-сети
- Принципы построения составных сетей
- Локализация трафика и изоляция сетей
- Согласование протоколов канального уровня
- Маршрутизация в сетях с произвольной топологией
- Сетевой уровень и модель osi
- Функции сетевого уровня
- Протоколы передачи данных и протоколы обмена маршрутной информацией
- Стек протоколов tcp/ip История и перспективы стека tcp/ip
- Структура стека tcp/ip. Краткая характеристика протоколов
- Адресация в ip-сетях Типы адресов: физический (mac-адрес), сетевой (ip-адрес) и символьный (dns-имя)
- Три основных класса ip-адресов
- Соглашения о специальных адресах: broadcast, multicast, loopback
- Отображение физических адресов на ip-адреса: протоколы arp и rarp
- Отображение символьных адресов на ip-адреса: служба dns
- Автоматизация процесса назначения ip-адресов узлам сети - протокол dhcp
- Протокол межсетевого взаимодействия ip
- Формат пакета ip
- Управление фрагментацией
- Маршрутизация с помощью ip-адресов
- Пример взаимодействия узлов с использованием протокола ip
- Структуризация сетей ip с помощью масок
- Протокол доставки пользовательских дейтаграмм udp
- Зарезервированные и доступные порты udp
- Мультиплексирование и демультиплексирование прикладных протоколов с помощью протокола udp
- Формат сообщений udp
- Протокол надежной доставки сообщений tcp
- Сегменты tcp
- Порты и установление tcp-соединений
- Концепция квитирования
- Реализация скользящего окна в протоколе tcp
- Выбор тайм-аута
- Реакция на перегрузку сети
- Формат сообщений tcp
- Протокол обмена управляющими сообщениями icmp Общая характеристика протокола icmp
- Формат сообщений протокола icmp
- Сообщения о недостижимости узла назначения
- Перенаправление маршрута
- Протоколы обмена маршрутной информацией стека tcp/ip
- Дистанционно-векторный протокол rip
- Комбинирование различных протоколов обмена. Протоколы egp и bgp сети Internet
- Протокол состояния связей ospf
- Развитие стека tcp/ip: протокол iPv.6
- Администрирование информационных систем (tcp/ip)
- Преподаватели
- Аннотация
- Знания и умения, полученные в результате обучения
- Зачет и экзамен
- Требования к начальному уровню знаний
- Программа курса
- Полезные Интернет-ссылки