Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену по ПИИ.docx
Скачиваний:
107
Добавлен:
26.03.2015
Размер:
207.29 Кб
Скачать
  1. Структура web-клиентов серверов smtp и pop3.

SMTP (англ. Simple Mail Transfer Protocol— простой протокол передачи почты) — это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP. Основная задача протокола SMTP (Simple Mail Transfer Protocol) заключается в том, чтобы обеспечивать передачу электронных сообщений (почту). Для работы через протокол SMTP клиент создаѐт TCP соединение с сервером через порт 25. Затем клиент и SMTP сервер обмениваются информацией пока соединение не будет закрыто или прервано. Основной процедурой в SMTP является передача почты (Mail Procedure). Далее идут процедуры форвардинга почты (Mail Forwarding), проверка имѐн почтового ящика и вывод списков почтовых групп. Самой первой процедурой является открытие канала передачи, а последней - его закрытие. Команды SMTP указывают серверу, какую операцию хочет произвести клиент.

HelomailrcptdatasendquiTи другие команды.

Команды состоят из ключевых слов, за которыми следует один или более параметров и разделено от аргумента одним или несколькими пробелами. Каждая командная строка заканчивается символами.

POP3 (англ. Post Office Protocol Version 3— протокол почтового отделения, версия 3) используется почтовым клиентом для получения сообщений электронной почты с сервера. Обычно используется в паре с протоколом SMTP.

Перед работой через протокол POP3 сервер прослушивает порт 110. Когда клиент хочет использовать этот протокол, он должен создать TCP соединение с сервером. Когда соединение установлено, сервер отправляет приглашение. Затем клиент и POP3 сервер обмениваются информацией пока соединение не будет закрыто или прервано.

Команды POP3 состоят из ключевых слов, за некоторыми следует один или более аргументов. Все команды заканчиваются парой CRLF.

USER имя_пользователя Посылает имя пользователя.

PASS пароль Посылает пароль пользователя.

STAT Запрашивает информацию о количестве непрочитанных сообщений/байтов.

RETR n Требует показать сообщение номер n.

DELE n Удаляет сообщение номер n.

LAST Запрашивает номер последнего прочитанного сообщения.

LIST (n) Запрашивает информацию о размере сообщения номер n или о размере всех сообщений..

RSET Восстанавливает удаленные сообщения и устанавливает счетчик сообщений в 1. TOP n l Печатает заголовок и l строк сообщения n.

NOOP Режим ожидания.

QUIT Завершает сеанс POP3.

Ответы в POP3 состоят из индикатора состояния и ключевого слова. Существует только два индикатора состояния: "+OK" - положительный и "-ERR" - отрицательный.

POP3 сессиясостоит из нескольких режимов. Как только соединение с сервером было установлено и сервер отправил приглашение, то сессия переходит в режим AUTHORIZATION (Авторизация). В этом режиме клиент должен идентифицировать себя на сервере. После успешной идентификации сессия переходит в режим TRANSACTION (Передача). В этом режиме клиент запрашивает сервер выполнить определѐнные команды. Когда клиент отправляет команду QUIT, сессия переходит в режим UPDATE. В этом режиме POP3 сервер освобождает все занятые ресурсы и завершает работу. После этого TCP соединение закрывается.

Набираем строку в браузере, нажимаем на кнопку. Браузер считывает строку, выбирает символьное имя, выполняет функцию gethostbyname, которая возвращает IP-адрес.

Заполняет структуру SOCKADDR_IN, выдает команду connect. В этот момент запрос приходит на сервер, который в acceptе. Строится очередь подключений, ожидающих accept, сервер выбирает из очереди клиента и результатом работы функции accept будет новый сокет. Сервер переходит в receive. Клиент выполняет send, он отправляет HTTPзапрос, состоящий из заголовков, протокола, тела…..Сервер разбирает строку, лезет в WEB.XML, доходит до имени запрашиваемого сервлета и создает его, или сервлет может быть уже в памяти или занят-тогда создает новый экземпляр сервлета. Сервлет не хранит значение. Выполняется функция SERVICE, формируется объект response, который превращается в строку, в которой есть код, протокол, заголовки, тело. Ответ приходит на браузер, который встречает его функцией receive, и если есть HTML, то интерпретирует его.