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

4. Форматы данных

Протокол IMAP4rev1 использует текстовые команды и отклики. Данные IMAP4rev1 могут передаваться в оной из описанных ниже форм: атом (atom), число, строка, список в скобках, NIL.

4.1. Атом (Atom)

Атом состоит из одного или нескольких символов общего назначения.

4.2. Число

Число содержит одну или более десятичных цифр, представляющих числовое значение.

4.3. Строка

Строки могут использовать одну из двух возможных форм — литеральную (буквальную — literal) или квотированную (строка в кавычках — quoted string). Литеральная форма представляет собой общую форму представления строк. Квотированные строки позволяют упростить обработку за счет сужения используемого в них набора символов.

Литеральная строка представляет собой последовательность (возможно, пустую) октетов (включая символы CR и LF), начинающуюся со счетчика октетов в форме {число октетов} за которым следуют символы CRLF. Для строк, передаваемых сервером клиенту, октеты данных следуют сразу же после CRLF. Для строк, передаваемых от клиента к серверу, клиент ДОЛЖЕН сначала получить от сервера подтверждение с запросом на продолжение команды (эти запросы описаны ниже) и только после этого передавать данные и оставшуюся часть команды.

Квотированная строка представляет собой последовательность (возможно, пустую) 7-битовых символов, включая CR и LF, заключенную в кавычки (").

Пустые строки представляются как "" (только кавычки) или {0}CRLF (литеральная строка с 0 октетов).

4.3.1. 8-битовые и двоичные строки

8-битовые текстовые и бинарные данные поддерживаются с помощью транспортного кодирования содержимого [MIMEIMB]. Реализации IMAP4rev1 могут передавать 8-битовые и мультиоктетные символы в литералах, но делать это следует только в случаях задания [CHARSET] (набор символов).

Хотя бинарные данные определены спецификацией, их некодированная передача не допускается. Бинарными называют строки с символами NUL. Реализации ДОЛЖНЫ преобразовывать бинарные данные в текстовый формат (например, BASE64) до их передачи. Строки с большим числом символов CTL, также могут считаться бинарными.

4.4. Список в скобках (Parenthesized List)

Структуры данных представляются в форме заключенных в скобки списков (parenthesized list) — последовательность элементов, разделенных пробелами, ограничивается с обеих сторон скобками. Списки могут содержать внутри себя другие списки в скобках.

Пустой список представляется в виде ().

4.5. Пустой формат (NIL)

Специальный атом NIL используется для представления несуществующих данных определенного типа, представляемых как строка или список в скобках, в отличие от пустой строки — "" или списка ().

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