РОРЗ - комп'ютерні мережі
Під час РОРЗ-транзакції агент користувача посилає поштового сервера команди, на кожну з яких сервер реагує посилкою одного з двох відповідних повідомлень: + 0ДО (іноді з подальшою передачею даних сервера клієнтові) і -ERR, що вказує на помилку в команді клієнта.
telnet mailServer 110
+0ДО РОРЗ server ready
user bob
+0K
pass hungry
+0K user successfully logged on
Якщо будь-яка з команд буде введена невірно, сервер видасть повідомлення -ERR.
Тепер звернемося до фази транзакції. Як правило, агент користувача, який використовує протокол РОРЗ, в залежності від налаштувань може автоматично видаляти чи не видаляти повідомлення після їх прийому; при цьому під час транзакції будуть застосовуватися різні команди. Якщо завантажені необхідно видаляти, агент посилає серверу команди list, retr і dele. Нехай, наприклад, в поштовій скриньці користувача знаходяться два повідомлення. Нижче наведено діалог клієнта (С) і сервера (S) під час транзакції:
З: list
S 1 498
S 2 912
S :.
З: retr 1
S: (blah blah ...
S: ............ ..
S: ......... blah)
S.
C: dele 1
C: retr 2
S: (blah blah ...
S: ............ ..
S: ......... blah)
S.
C: dele 2
C: quit
S: + 0K P0P3 server signong off
Спочатку агент користувача отримує від сервера список повідомлень із зазначенням розміру кожного повідомлення, а потім послідовно приймає і видаляє повідомлення з сервера. Під час транзакції агентом використовуються лише чотири команди: list, retr, dele і quit. Синтаксис цих команд описаний в документі RFC 1939. Після обробки команди quit РОРЗ-сервер переходить в фазу відновлення і виробляє фактичне видалення переданих повідомлень.
Режим видалення переданих сервером повідомлень має важливий недолік. Припустимо, Боб є мобільним користувачем і отримує доступ до поштового сервера з різних комп'ютерів (наприклад, домашнього, офісного та портативного). Якщо кожен раз після передачі повідомлень сервер буде видаляти їх, то частина повідомлень виявиться на персональному комп'ютері, частина - на офісному, а частина - на портативному. Таким чином, Боб буде позбавлений можливості одночасного доступу до всіх отриманих повідомлень. Якщо агенти користувача на комп'ютерах Боба будуть налаштовані на завантаження повідомлень без видалення, копії всіх вхідних повідомлень залишаться в поштовій скриньці, що забезпечить доступ до них з будь-якого комп'ютера.
Хоча під час РОРЗ-сеансу між поштовим сервером і агентом користувача поштовий сервер зберігає певну інформацію про стан (в основному це відноситься до списку повідомлень, призначених для видалення), зберігати повну інформацію про сеанс не потрібно. Це в значній мірі спрощує реалізацію поштового РОРЗ-сервера.
Відповідальність, за все зміни, внесені в систему за порадами даної статті, Ви берете на себе.