Форматы сообщений электронной почты 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Форматы сообщений электронной почты



Обычное электронное письмо помимо текста самого письма может содержать различную дополнительную информацию: почтовый адрес адресата, почтовый адрес отправителя, дату создания письма. Подобная информация содержится в заголовке письма, предшествующем его телу. Некоторые ключевые слова заголовка являются обязательными, другие — не обязательными. Примерами обязательных ключевых слов являются From:, То:, и Date:, а не обязательных — Subject:. Команды представляют собой часть процедуры рукопожатия, а строки заголовка — часть передаваемого сообщения. Типичный заголовок сообщения выглядит следующим образом:

From: cat @ my.ru

То: dog @ gukit.edu

Date: Tue, 9 Dec 2008 23:05:49 +0300 (MSK)

Subject: Priglashenie v gosti.

После заголовка следует пустая строка, а за ней начинается тело сообщения в кодировке ASCII.

Передача сообщений с аудио-, видео- и прочей информацией, формат которой не соответствует ASCII, требует включения в сообщение специальных заголовков. Такой стандарт носит название многоцелевых расширений почты Интернета (Multipurpose Internet Mail Extensions, MIME).

Двумя наиболее важными MIME-заголовками, предназначенными для поддержки мультимедиа, являются Content-Type: и Content-Transfer-Encoding:. Заголовок Content-Type: позволяет агенту получателя произвести соответствующую обработку данных сообщения. Так, например, если сообщение содержит изображение в формате JPEG, агент получателя вызовет процедуру декомпрессии файлов JPEG. Информация, указанная в поле Content-Transfer-Encoding, позволяет подобрать нужную кодировку для правильного отображения полученных данных. Всего в настоящее время выделено 7 типов данных. Среди них:

· Text – этот тип указывает агенту получателя на то, что тело сообщения содержит текстовую информацию. Очень часто встречающейся парой тип/подтип является text/plain. Подтип plain означает простой текст, то есть текст не содержит команд или директив форматирования. Другой часто встречающейся парой является text/html. Подтип html указывает на то, что программа чтения почты должна интерпретировать теги, включенные в сообщение. Это позволяет отобразить сообщение в виде web-страницы, содержащей различные шрифты, гиперссылки, апплеты и т. д.

· Image – этот тип указывает на то, что информация, находящаяся в теле сообщения, является изображением. Двумя наиболее распространенными парами тип/подтип для изображений являются image/gif и image/jpeg. Распознавая каждый из этих подтипов, агент пользователя применяет соответствующий метод декомпрессии изображения.

· Application – это тип для всех данных, которые нельзя отнести к другим шести типам. Как правило, сюда попадают данные, предназначенные для обработки различными прикладными программами. Так, например, если включить в сообщение документ Microsoft Word, агент отправителя присвоит ему пару арplication/msword. При обработке сообщения агент получателя вызовет приложение Microsoft Word и передаст ему декодированные данные.

· Multipart. Подобно тому, как web-страница может включать в себя различные типы данных (текст, изображения, апплеты и т. д.), тело сообщения также может состоять из разнородной информации.

Примером сообщения, генерируемого агентом после отправки, может служить следующее:

From: dog@gukit.edu

То: cat@my.ru

Subject: Picture of yummy crepe.

MIME-Version: 1.0

Content-Transfer-Encoding: base64

Content -Type: image/jpeg

(base64 encoded data……

………………………….

base64 encoded data)

Агент отправителя dog кодировал JPEG изображение методом base64.

Агент получателя сначала обнаружит строку Content-Transfer-Encoding: base64 и декодирует тело сообщения методом base64, затем агент увидит строку Content -Type: image/jpeg и произведёт jpeg-декомпрессию данных.

После получения сообщения со стандартными заголовками, сервер добавляет в начало заголовка строку Received:, содержащую адреса отправителя (From), получателя (То) и время получения сообщения сервером.

Base64 - это специальный метод кодирования информации в 64-разрядный код (6 бит), широко используемый в приложениях электронной почты для кодирования данных. Весь диапазон закодированных символов укладывается в английский алфавит в верхнем и нижнем регистре — символы (A—Z, a—z), цифры (0—9), и символы «+» и «/», с символом «=» в качестве специального кода суффикса.

Иногда сервер генерирует запросы или сообщения в формате Base64. В этом случае клиент должен высылать ответ или сообщение тоже закодированное в формат Base64.

POP

Протокол РОРЗ является одним из самых простых протоколов доступа к электронной почте. Но с весьма ограниченной функциональностью. Протокол начинает действовать после того, как агент пользователя (клиент) устанавливает ТСР-соединение с портом 110 почтового сервера, и подразумевает выполнение трех основных фаз: авторизации, транзакции и обновления. Во время авторизации агент передает серверу имя пользователя и пароль для того, чтобы сервер предоставил агенту доступ к сообщениям электронной почты. В фазе транзакции пользователь получает сообщения, а также может пометить сообщения, предназначенные для удаления, и получить почтовую статистику. Наконец, фаза обновления наступает после того, как клиент посылает команду quit и закрывает РОРЗ-сеанс. Почтовый сервер производит удаление сообщений, помеченных пользователем.

Во время РОРЗ-транзакции агент пользователя посылает почтовому серверу команды, на каждую из которых сервер реагирует посылкой одного из двух ответных сообщений: +ОК (иногда с последующей передачей данных сервера клиенту) и -ERR, указывающего на ошибку в команде клиента.

Авторизация включает в себя две возможные команды: user <имя пользователя> и pass <пароль>. Для того чтобы проиллюстрировать действие этих команд, предположим, что вы устанавливаете соединение с РОРЗ-сервером через порт 110. Если mailServer — имя вашего почтового сервера, то процесс авторизации в программе Telnet будет выглядеть следующим образом:

telnet pop.mailServer.ru 110

+OK РОРЗ server ready

User user

+OK

Pass 1234

+ok user successfully logged on

Если какая-либо из команд будет введена неверно, сервер выдаст сообщение -ERR.

Теперь обратимся к фазе транзакции. Как правило, агент пользователя, использующий протокол РОРЗ, в зависимости от настроек может автоматически удалять или не удалять сообщения после их приема; при этом во время транзакции будут применяться различные команды. Если загруженные сообщения необходимо удалять, агент посылает серверу команды list, retr и dele. Пусть, например, в почтовом ящике пользователя находятся два сообщения. Ниже приведен диалог клиента и сервера во время транзакции:

list

1 1498

2 2912

.

retr 1

(Horoshajа pogoda!!!)

.

dele 1

retr 2

(V trave sidel kuznechik,

sovsem kak ogurechik,

zelenen'kii on byl...)

.

dele 2

quit

+0K P0P3 server signong off

Сначала агент пользователя получает от сервера список сообщений с указанием размера каждого сообщения, а затем последовательно принимает и удаляет сообщения с сервера. Во время транзакции агентом используются лишь четыре команды: list, retr, dele и quit. Синтаксис этих команд описан в документе RFC 1939. После обработки команды quit РОРЗ - сервер переходит в фазу обновления и производит фактическое удаление переданных сообщений.

Указания к выполнению работы

Протокол HTTP

Порядок выполнения работы:

1. Запустите интернет-браузер и откройте с помощью него какую-нибудь страницу в интернете. Страница не должна иметь условий и иметь расширение.html или.txt. Например, страница расположена по адресу:

http://lib.ru/ANEKDOTY/orfograf.txt

где lib.ru – название сервера,

/ANEKDOTY/orfograf.txt – расположение страницы на сервере.

(или http://www.koreamuseum.ru/chya.html

или http://www.greekroman.ru/gallery/mus_hermitage.htm)

2. Запустите telnet сеанс. Для этого запустите сеанс MS-DOS, для чего выберите Пуск > Программы > Стандартные > Командная строка.

В командной строке введите следующее:

telnet <host name> <port number>

где: <host name> – имя того же хоста, который введён в браузере – lib.ru;

<port number> – номер порта, уникальный для каждого процесса (протокола) – 80;

У Вас, к примеру, должно получиться:

telnet lib.ru 80

Таким образом, вы инициируете соединение с сервером.

3. Составьте сообщение-запрос с помощью метода GET. Например, для получения html-страницы хоста lib.ru сообщение-запрос может выглядеть следующим образом:

GET /ANEKDOTY/orfograf.txt HTTP/1.1

После ввода этой строки следует дважды нажать клавишу Enter. В таком виде браузер клиента получает страницы с сервера.

4. Повторите пункты 2 и 3 для запроса в виде команды HEAD.

Контрольные вопросы

1. В чём отличие запросов с помощью метода GET и HEAD?

2. Поясните поля сообщения-ответа, генерируемого HTTP-сервером.



Поделиться:


Последнее изменение этой страницы: 2016-09-05; просмотров: 365; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.31.240 (0.026 с.)