Протоколы ИнтернетРефераты >> Программирование и компьютеры >> Протоколы Интернет
Сообщение состоит из текста, который Вы хотите передать адресату, и заголовка, который приписывается в начале сообщения, отделяется от текста пустой строкой, и содержит несколько строчек необходимой информации об этом сообщении:
дату отправления, адрес, обратный адрес, тему сообщения, и другие.
Рассмотрим пример почтового сообщения:
Received: by avg386.kiae.su; Thu, 20 Dec 90 13:51:59 MSK
Received: by jumbo.kiae.su; Thu, 20 Dec 90 12:52:17 MSK
Received: from CS.ORST.EDU by fuug.fi with SMTP id AA15539
(5.65+/IDA-1.3.5 for avg@kiae.su); Thu, 20 Dec 90 08:19:05 +0200
Received: from jacobs.CS.ORST.EDU by CS.ORST.EDU (5.59/1.15)
id AA19981; Wed, 19 Dec 90 22:19:59 PST
Received: by jacobs.CS.ORST.EDU (5.54/1.14)
id AA02240; Wed, 19 Dec 90 23:19:35 MST
Date: Wed, 19 Dec 90 23:19:35 MST
From: Harry Brooks <brooksh@jacobs.cs.orst.edu>
Message-Id: <9012200619.AA02240@jacobs.CS.ORST.EDU> To: avg@kiae.su
Subject: Re: wondering if you attended?
Status: RO
gosh, i wish that you were not so far away
that we could face each other and speak of
your interests--computers, girls, nature and drinks!
no, i do not know Russian history--only the sketch and
collected memory of pieces read and heard .
was infatuated by Dostevosky
harry
//interrupted for talking to a friend--bye--more later.
Здесь первые четырнадцать строчек составляют заголовок. Заметим, что каждая из строк заголовка имеет вид:
название: текст
Названия строк заголовка расшифровываются так:
Received:
отметка о прохождении через машину (почтовый штемпель). У нашего письма таких отметок пять, значит, по пути оно прошло через пять машин, и каждая из них обозначила, когда оно проходило.
Date:
дата и время отправления письма; они указываются в стандартном формате, поскольку большинство почтовых систем умеют сортировать сообщения по времени, если Вы попросите.
From:
имя отправителя и обратный адрес <отделен угловыми скобками>.
Message-Id:
внутренний идентификатор сообщения; присваивается почтовой службой отправителя. Каждому письму присваивается уникальный - единственный в мире! - идентификатор. Его можно использовать для ссылок на письмо, как исходящий номер.
To: адрес получателя
Subject:
тема сообщения. Пометка Re: обозначает, что это сообщение - ответ (от слова reply) на другое сообщение. У исходного сообщения и у ответа строка Subject: одна и та же. При составлении автором ответа почтовая служба автоматически взяла тему из исходного сообщения. Это удобно, когда идет длинный разговор на одну тему. Вы сможете потребовать, чтобы почтовая служба отсортировала сообщения по темам .
Status:
статус сообщения; Ваша почтовая служба помечает для себя, что сообщение Вами уже прочитано, чтобы второй раз Вам его не предложить как новое.
Бывает еще несколько видов строк заголовка. Не все они обязательно должны быть. Некоторые строки почтовые службы добавляют автоматически (Received:, Date:), другие задает сам автор письма (To:, Subject:). Мы же остановимся подробно на том, как указать в сообщении адрес, чтобы почтовые службы его поняли и доставили письмо по назначению.
Спецификация MIME (Multipurpose Internet Mail Extension)
Стандарт MIME, или в нотации Internet RFC-1341, предназначен для описания тела почтового сообщения Internet. Предшественником MIME является стандарт почтового сообщения ARPA (RFC822). Стандарт RFC822 был разработан для обмена текстовыми сообщениями. С момента опубликования стандарта возможности аппаратных средств и телекоммуникаций ушли далеко вперед и стало ясно, что многие типы информации, которые широко используются в сети невозможно передать по почте без специальных ухищрений. Так в тело сообщения нельзя включить графику, аудио, видео и другие типы информации. RFC822 не дает возможностей для передачи даже текстовой информации, которую нельзя реализовать в семибитовой кодировке ASCII. Естественно, что при использовании RFC822 не может быть и речи о передаче размеченного текста для отображения его различными стилями. Ограничения RFC822 становятся еще более очевидными, когда речь заходит об обмене сообщениями в разных почтовых системах. Например, для приема/передачи сообщений из/в X.400, который позволяет иметь двоичные данные в теле сообщения, ограничения старого стандарта могут стать фатальными, так как не спасает старый испытанный способ кодировки информации процедурой uuencode, так как эти данные могут быть по-различному проинтерпретированы в X.400 и программе рассылки почты в Internet (mail-agent).
В некотором смысле стандарт MIME ортогонален стандарту RFC822. Если последний подробно описывает в заголовке почтового сообщения текстовое тело письма и механизм его рассылки, то MIME, главным образом, сориентирован на описание в заголовке письма структуры тела почтового сообщения и возможности составления письма из информационных единиц различных типов. В стандарте зарезервировано несколько способов представления разнородной информации. Для этой цели используются специальные поля заголовка почтового сообщения:
· поле версии MIME, которое используется для идентификации сообщения, подготовленного в новом стандарте;
· поле описания типа информации в теле сообщения, которое позволяет обеспечить правильную интерпретации данных;
· поле типа кодировки информации в теле сообщения, указывающее на тип процедуры декодирования;
· два дополнительных поля, зарезервированных для более детального описания тела сообщения.
Стандарт MIME разработан как расширяемая спецификация, в которой подразумевается, что число типов данных будет расти по мере развития форм представления данных. При этом следует учитывать, что анархия типов (безграничное их увеличение) тоже не допустима. Каждый новый тип в обязательном порядке должен быть зарегистрирован в IANA (Internet Assigned Numbers Authority). Остановимся подробнее на форме и назначении полей, определяемых стандартом.
Поле версии MIME (MIME-Version)
Поле версии указывается в заголовке почтового сообщения и позволяет определить программе рассылки почты, что сообщение подготовлено в стандарте MIME. Формат поля выглядит как:
MIME-Version: 1.0
Поле версии указывается в общем заголовке почтового сообщения и относится ко всему сообщению целиком. Здесь уместно отметить, что в отличие от стандарта RFC822, стандарт MIME позволяет перемешивать поля заголовка сообщения с телом сообщения. Поэтому все поля делятся на два класса: общие поля заголовка, которые записываются в начале почтового сообщения и частные поля заголовка, которые относятся только к отдельным частям составного сообщения и записываются перед ними.
Поле типа содержания тела почтового сообщения (Content-Type)
Поле типа используется для описания типа данных, которые содержатся в теле почтового сообщения. Это поле сообщает программе чтения почты какого сорта преобразования необходимы для того, чтобы сообщение правильно проинтерпретировать. Эта же информация используется и программой рассылки при кодировании/декодировании почты. Стандарт MIME определяет семь типов данных, которые можно передавать в теле письма: текст (text); смешанный тип (multipart); почтовое сообщение (message); графический образ (image); аудио информация (audio); фильм или видео (video); приложение (application). Общая форма записи поля выглядит в записи Бекуса-Наура как: