RFC: 1939
Оригинал: Post Office Protocol - Version 3
Предыдущие версии: RFC 1081, RFC 1225, RFC 1460, RFC 1725
Категория: Стандарт Интернета
Дата публикации:
Авторы: ,
Перевод: ?

RFC 1939, Страница 2 из 9

3. Базовые операции

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

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

Ответы состоят из индикатора состояния и ключевого слова, иногда сопровождаемого дополнительной информацией. Все ответы заканчиваются парой CRLF. Ответ может быть длиной до 512 символов, включая завершающий CRLF. В настоящее время есть два индикатора состояния: положительный (+OK) и отрицательный (-ERR). Сервер должен посылать «+OK» и «-ERR» только в верхнем регистре.

Определенные ответы могут быть многострочными. В этом случае, после первой строки ответа заканчивающейся CRLF, каждая дополнительно посланная строка заканчивается парой CRLF. После того как все строки ответа посланы, последняя строка будет заканчиваться завершающим октетом — символом «.» (десятичный код 046) и парой CRLF. Таким образом, многострочный ответ заканчивается этими пятью октетами — «CRLF.CRLF». Исследуя многострочный ответ, клиент проверяет, начинается ли строка с октета завершения. Если это так, и если следуют октеты кроме CRLF, первый октет строки (октет завершения) снят. Если это так, и если CRLF следует сразу же за символом завершения, значит ответ POP сервера завершен, и строка, содержащая «.CLRF» не считается частью многострочного ответа.

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

Сервер должен ответить на нераспознанную, нереализованную, или синтаксически недопустимую команду, ответив с отрицательным (-ERR) индикатором состояния. Сервер должен ответить на команду, выполненную при некорректном состоянии сессии, ответив с отрицательным (-ERR) индикатором состояния. Нет никакого общего метода для клиента, чтобы различить сервер, который не реализует опциональную команду, или который не желает или неспособен обработать команду.

POP3 сервер МОЖЕТ иметь inactivity autologout таймер (таймер авто-завершения сессии при бездействии). Такой таймер ДОЛЖЕН быть установлен как минимум на 10 минут. Если клиент не передает серверу команды заданный интервал времени, то сервер разрывает TCP соединение без перехода в состояние UPDATE, т.е. без удаления сообщений и посылки каких либо ответов клиенту.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.