В примере 5.7. иллюстрируется транзакция SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты), который описан в спецификации RFC 2821. В данном примере строки, начинающиеся с
Так почта передается между Internet-машинами. Следует отметить ряд особенностей: формат команд и аргументов запросов, ответы, содержащие код состояния, за которым следует информационное сообщение, и то, что полезная нагрузка команды DATA ограничивается строкой, содержащей одну точку.
Пример 5.7. SMTP-сеанс
С:
С: HELO snark.thyrsus.com
S: 250
С: DATA
S: 354 Enter mail, end with "." on a line by itself С: Звонил Scratch. Он хочет снять с нами С: комнату в Balticon.
С: .
С: QUIT
S: 221 cpmy.com closing connection
С:
SMTP один из двух или трех старейших протоколов прикладного уровня, которые до сих пор используются в Internet. Он прост, эффективен и выдержал проверку временем. Особенности, описанные здесь, часто повторяются в других Internet-протоколах. Если существует какой-либо один образец того, как выглядит хорошо спроектированный протокол Internet-приложения, то им, несомненно, является SMTP.
5.3.2. Учебный пример: РОРЗ, почтовый протокол 3-й версии
Другим классическим Internet-протоколом является РОРЗ (Post Office Protocol — почтовый протокол 3-й версии). Он также используется для транспортировки почты, но если SMTP является "толкающим" протоколом с транзакциями, инициированными отправителем почты, то РОРЗ является протоколом "тянущим", а его транзакции инициируются получателем почты. Internet-пользователи с непостоянным доступом (например, по коммутируемым соединениям) могут накапливать свою почту на почтовом сервере, а затем, подключившись к РОРЗ-серверу, получать почту на персональные машины.
В примере 5.8. показан РОРЗ-сеанс. В данном примере строки, начинающиеся с
Пример 5.8. РОРЗ-сеанс
С:
S: +ОК РОРЗ server ready <1896.697l®mailgate.dobbs.org>
С: USER bob
S: +0K bob
C: PASS redqueen
S: +0K bob's maildrop has 2 messages (320 octets)
S: +OK 2 320
S: +OK 2 messages (320 octets)
C: RETR 1
S: +0K 120 octets
С: DELE 1
S: +0К message 1 deleted
С: RETR 2
S: +0K 200 octets
S: .
С: DELE 2
S: +ОК message 2 deleted
С: QUIT
S: +0K dewey РОРЗ server signing off (maildrop empty)