RFC: 2060
Оригинал: Internet Message Access Protocol v.4 rev.1
Другие версии: RFC 1730, RFC 3501
Категория: Предложенный стандарт
Дата публикации:
Автор:
Перевод: Николай Малых

3. Состояния сервера и команды

Сервер IMAP4rev1 может находиться в одном из 4 состояний. Большая часть команд применима в любом из состояний сервера. Если клиент пытается использовать недоступную в данном состоянии сервера команду, возникает протокольная ошибка и сервер возвращает отклик BAD или NO (в зависимости от реализации сервера).

3.1. Состояние Non-Authenticated

В этом состоянии клиент ДОЛЖЕН свои полномочия прежде, чем передавать какие-либо команды. Это состояние является первым после организации соединения, если соединение не аутентифицировано заранее.

3.2. Состояние Authenticated

В этом состоянии полномочия клиента уже проверены и клиент ДОЛЖЕН выбрать почтовый ящик для работы, прежде, чем подавать серверу какие-либо команды для работы с сообщениями. Это состояние возникает при организации сеанса клиентом с предварительной аутентификацией или после предъявления клиентом корректных полномочий, а также после ошибок при выборе почтового ящика.

3.3. Состояние Selected

В этом состоянии уже выбран почтовый ящик для работы.

3.4. Состояние Logout

В этом состоянии соединение завершается и сервер разрывает связь. Данное состояние может вводиться по запросу клиента или по инициативе сервера.

+--------------------------------------+
|    начало соединения и приветствие   |
+--------------------------------------+
          || (1)       ||  (2)       || (3)
          VV           ||            ||
+-----------------+    ||            ||
|non-authenticated|    ||            ||
+-----------------+    ||            ||
 || (7)   || (4)       ||            ||
 ||       VV           VV            ||
 ||     +----------------+           ||
 ||     | authenticated  |<=++       ||
 ||     +----------------+  ||       ||
 ||       || (7)   || (5)   ||  (6)  ||
 ||       ||       VV       ||       ||
 ||       ||    +--------+  ||       ||
 ||       ||    |selected|==++       ||
 ||       ||    +--------+           ||
 ||       ||       || (7)            ||
 VV       VV       VV                VV
+--------------------------------------+
|   logout и завершение соединения     |
+--------------------------------------+
  • (1) Соединение без предварительной аутентификации (приветствие OK)
  • (2) Соединение с предварительной аутентификацией (приветствие PREAUTH)
  • (3) Отвергнутое соединение (приветствие BYE)
  • (4) Успешное выполнение команды LOGIN или AUTHENTICATE
  • (5) Успешное выполнение команды SELECT или EXAMINE
  • (6) Команда CLOSE или ошибка при выполнении команды SELECT или EXAMINE
  • (7) Команда LOGOUT, отключение (shutdown) сервера или разрыв соединения.
2007 - 2017 © Русские переводы RFC, IETF, ISOC.