Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Протокол POP3

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

Команди POP3 складаються з ключових слів, за деякими слід один або більше аргументів. Всі команди закінчуються парою CRLF (у Visual Basic константа vbCrLf). Ключові слова й аргументи складаються з друкованих ASCII символів. Ключове слово і аргументи розділені одиночним пропуском. Ключове слово складається від 3-х до 4-х символів, а аргумент може бути довжиною до 40-ка символів.

Відповіді в POP3 складаються з індикатора стану і ключового слова, за яким може слідувати додаткова інформація. Відповідь закінчується парою CRLF. Існує тільки два індикатори стану: "+ OK" - позитивний і "-ERR" - негативний.

Відповіді на деякі команди можуть складатися з декількох рядків. У цих випадках кожен рядок розділена парою CRLF, а кінець відповіді закінчується ASCII символом 46 (".") І парою CRLF.

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

У POP3 сервера може бути INACTIVITY AUTOLOGOUT таймер. Цей таймер повинен побут, принаймні, з інтервалом 10 хвилин. Це означає, що якщо клієнт і сервер не взаємодіють один з одним, сервер автоматично перериває з'єднання і при цьому не переходить в режим UPDATE.

Авторизація. Як тільки буде встановлено TCP з'єднання з POP3 сервером, він відправляє запрошення, що закінчується парою CRLF, наприклад:

S:+OK POP3 server ready

Тепер POP3 сесія знаходиться в режимі AUTHORIZATION. Клієнт повинен ідентифікувати себе на сервері, використовуючи команди USER і PASS. Спочатку треба відправити команду USER, після якої в якості аргументу слід ім'я користувача. Якщо сервер відповідає позитивно, то тепер необхідно відправити команду PASS, за якою слідує пароль. Якщо після відправлення команди USER або PASS сервер відповідає негативно, то можна пробувати авторизуватися знову або вийти з сесії за допомогою команди QUIT. Після успішної авторизації сервер відкриває і блокує maildrop (поштова скринька). У відповіді на команду PASS сервер повідомляє скільки повідомлень знаходиться в поштовій скриньці і передає їх загальний розмір. Тепер сесія знаходиться в режимі TRANSACTION. Підіб'ємо підсумки з командами:

 

Команда: USER [ім'я]

Аргументи: [ім'я] – рядок, що вказує ім'я поштової скриньки

Опис: Передає серверу ім'я користувача.

Можливі відповіді:

+OK name is a valid mailbox

-ERR never heard of mailbox name

Приклади:

C: USER MonstrVB

S:+OK MonstrVB is a real hoopy frood

...

C: USER MonstrVB

S:-ERR sorry, no mailbox for frated here

 

Команда: PASS [пароль]

Аргументи: [пароль] - пароль для поштової скриньки

Опис: Передає серверу пароль поштової скриньки.

Можливі відповіді:

+OK maildrop locked and ready

-ERR invalid password

-ERR unable to lock maildrop

Приклади:

C: USER MonstrVB

S:+OK MonstrVB is a real hoopy frood

C: PASS mymail

S:+OK MonstrVB's maildrop has 2 messages (320 octets)

...

C: USER MonstrVB

S:+OK MonstrVB is a real hoopy frood

C: PASS mymail

S:-ERR maildrop already locked

 

Команда: QUIT

Аргументи: немає

Опис: Сервер завершує POP3 сесію і переходить в режим UPDATE.

Можливі відповіді:

+OK

Приклади:

C: QUIT

S:+OK dewey POP3 server signing off

 

Основні команди (Transaction). Після успішної ідентифікації користувача на сервері POP3 сесія переходить в режим TRANSACTION, де користувач може передавати нижче наступні команди. Після кожної з таких команд слідує відповідь сервера. Ось доступні команди в цьому режимі:

 

Команда: STAT

Аргументи: немає

Опис: У відповідь на виклик команди сервер видає позитивну відповідь "+OK", за яким слід кількість повідомлень в поштовій скриньці і їх загальний розмір в символах. Повідомлення, які помічені для видалення не враховуються у відповіді сервера.

Можливі відповіді:

+OK n s

Приклади:

C: STAT

S: + OK 2 320

Команда: LIST [повідомлення]

Аргументи: [повідомлення] - номер повідомлення (необов'язковий аргумент)

Опис: Якщо був переданий аргумент, то сервер видає інформацію про зазначеному повідомленні. Якщо аргумент не був переданий, то сервер видає інформацію про всі повідомлення, що знаходяться в поштовій скриньці. Повідомлення, помічені для видалення не перераховує.

Можливі відповіді:

+ OK scan listing follows

-ERR no such message

Приклади:

C: LIST

S:+OK 2 messages (320 octets)

S: 1120

S: 2200

S:.

...

C: LIST 2

S:+OK 2200

...

C: LIST 3

S:-ERR no such message, only 2 messages in maildrop

 

Команда: RETR [повідомлення]

Аргументи: [повідомлення] - номер повідомлення

Опис: Після позитивної відповіді сервер передає зміст повідомлення.

Можливі відповіді:

+ OK message follows

-ERR no such message

Приклади:

C: RETR 1

S: + OK 120 octets

S:

S:.

 

Команда: DELE

Аргументи: номер повідомлення

Опис: POP3 сервер позначає вказане повідомлення як віддалене, але не видаляє його, поки сесія не перейде в редім UPDATE.

Можливі відповіді:

+ OK message deleted

-ERR no such message

Приклади:

C: DELE 1

S: + OK message 1 deleted

...

C: DELE 2

S:-ERR message 2 already deleted

 

Команда: NOOP

Аргументи: немає

Опис: POP3 сервер нічого не робить і завжди відповідає позитивно.

Можливі відповіді:

+OK

Приклади:

C: NOOP

S: + OK

 

Команда: RSET

Аргументи: немає

Опис: Якщо які - то повідомлення були помічені для видалення, то з них знімається ця мітка.

Можливі відповіді:

+OK

Приклади:

C: RSET

S: + OK maildrop has 2 messages (320 octets)

 

Оновлення. Коли клієнт передає команду QUIT в режимі TRANSACTION, то сесія переходить в режим UPDATE. У цьому режимі сервер видаляє всі повідомлення, помічені для видалення. Після цього TCP з'єднання закривається.

Додаткові POP3 команди. Наступні додаткові команди дають вам велику свободу при роботі з повідомленнями: Команда: TOP [повідомлення] [n] Аргументи: [повідомлення] – номер повідомлення [n] – додатнє число (обов'язковий аргумент) Опис: Якщо відповідь сервера позитивний, то після нього він передає заголовки повідомлення і вказане кіл – у рядків з тіла повідомлення. Можливі відповіді: +OK top of message follows-ERR no such message Приклади: C: TOP 10 січня S: + OK S: <тут POP3 сервер передає заголовки першого повідомлення і перші 10-ть рядків з тіла повідомлення.> S:. ... C: TOP 100 3 S:-ERR no such message Команда: UIDL [повідомлення] Аргументи: [повідомлення] – номер повідомлення (необов'язковий аргумент). Опис: Якщо був вказаний номер повідомлення, то сервер видає унікальний ідентифікатор для цього повідомлення. Якщо аргумент не був переданий, то ідентифікатори перераховуються для всіх повідомлень, крім вибрані для видалення. Можливі відповіді: +OK unique-id listing follows-ERR no such message Приклади: C: UIDL S: + OK S: 1 whqtswO00WBw418f9t5JxYwZ S: 2 QhdPYR: 00WBw1Ph7x7 S:. ... C: UIDL 2 S: + OK 2 QhdPYR: 00WBw1Ph7x7 ... C: UIDL 3 S:-ERR no such message, only 2 messages in maildrop.

Ось приклад простого сеансу з POP3 сервером:

S: <створюємо нове TCP з'єднання c POP3 сервером через порт 110>

S:+OK POP3 server ready

C: USER MonstrVB

S:+OK User MonstrVB is exists

C: PASS mymail

S:+OK MonsrVB's maildrop has 2 messages (320 octets)

C: STAT

S:+OK 2 320

C: LIST

S:+OK 2 messages (320 octets)

S: 1120

S: 2200

S:.

C: RETR 1

S:+OK 120 octets

S:

S:.

C: DELE 1

S:+OK message 1 deleted

C: RETR 2

S:+OK 200 octets

S:

S:.

C: DELE 2

S:+OK message 2 deleted

C: QUIT

S:+OK dewey POP3 server signing off (maildrop empty)

C: <закриваємо з'єднання>


Читайте також:

  1. Багаторівневий підхід. Протокол. Інтерфейс. Стек протоколів.
  2. Види атак на механізми та протоколи автентифікації
  3. Віддалена робота із ОС. Протокол SSH. Утиліта putty
  4. Деякі протоколи і послуги Рівня застосувань.
  5. Дипломатичний протокол: сутність і роль в міжнародних відносинах
  6. Довідка. Протокол, витяг із протоколу
  7. Додаткові протоколи до Женевських конвенцій 1977 р.
  8. Етапи еволюції поштових протоколів
  9. Задачі протоколів обміну файлами
  10. Кіотський протокол
  11. Класифікація протоколів
  12. Криптографічні протоколи автентифікації




Переглядів: 762

<== попередня сторінка | наступна сторінка ==>
Протокол SMTP | Розгортання поштового серверу на основі ОС FreeBSD

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.019 сек.