Какие RFC необходимо учитывать при разработке клиента IMAP?

Теоретически набор запросов на комментарии (RFC) содержит все, что необходимо знать разработчику для создания клиента IMAP. Однако не всегда легко понять, какие RFC следует учитывать, а какие можно игнорировать.

У кого-нибудь есть дорожная карта RFC, чтобы помочь разработчикам пройти через это? Под дорожной картой RFC я имею в виду:

  • Полный список RFC, которые необходимо прочитать и понять для разработки клиента IMAP.
  • Указание того, какие RFC больше не нужно рассматривать, поскольку они были заменены.
  • Краткое изложение соответствующих RFC.
  • Подробно о том, как соответствующие RFC взаимодействуют друг с другом.
  • Указание логического порядка чтения и понимания соответствующих RFC.

person Mike Green    schedule 05.02.2011    source источник


Ответы (1)


Дорожная карта достаточно коротка. Начните с RFC IMAP 4rev1, RFC 3501. Он имеет приложение Normative References, в котором перечислены все RFC, от которых он напрямую зависит. ссылается на эти RFC в соответствующих местах документа.

Самые важные из них — вы можете прочитать их в этом порядке — это формат интернет-сообщений (я бы рекомендовал RFC 5322 вместо RFC 2822, чтобы быть более актуальным), MIME RFC (RFC 2045, 2046 и 2047), Content-Disposition (RFC 2183), TLS (RFC 2595) и UTF-7 (RFC 2152) для обработки имен папок, отличных от ASCII.

Как только вы закончите с базовым протоколом, вам нужно будет приступить к изучению расширений. Некоторые из них сделают вашу жизнь намного проще... когда сервер также обеспечивает поддержку. Вам обязательно понадобится IDLE (RFC 2177) и UIDPLUS (RFC 4315). SORT (RFC 5256) также хорош, а NAMESPACE (RFC 2342). Возможно, вам также потребуется использовать некоторые дополнительные механизмы аутентификации SASL, поэтому начните с RFC 1731 и продолжайте оттуда по необходимости.

Вот текст из Приложения А:

The following documents contain definitions or specifications that
are necessary to understand this document properly:

[ABNF]                Crocker, D. and P. Overell, "Augmented BNF for
                      Syntax Specifications: ABNF", RFC 2234,
                      November 1997.

[ANONYMOUS]           Newman, C., "Anonymous SASL Mechanism", RFC
                      2245, November 1997. 

[CHARSET]             Freed, N. and J. Postel, "IANA Character Set
                      Registration Procedures", RFC 2978, October
                      2000.

[DIGEST-MD5]          Leach, P. and C. Newman, "Using Digest
                      Authentication as a SASL Mechanism", RFC 2831,
                      May 2000.

[DISPOSITION]         Troost, R., Dorner, S. and K. Moore,
                      "Communicating Presentation Information in
                      Internet Messages: The Content-Disposition
                      Header", RFC 2183, August 1997.

[IMAP-TLS]            Newman, C., "Using TLS with IMAP, POP3 and
                      ACAP", RFC 2595, June 1999.

[KEYWORDS]            Bradner, S., "Key words for use in RFCs to
                      Indicate Requirement Levels", BCP 14, RFC 2119,
                      March 1997.

[LANGUAGE-TAGS]       Alvestrand, H., "Tags for the Identification of
                      Languages", BCP 47, RFC 3066, January 2001.

[LOCATION]            Palme, J., Hopmann, A. and N. Shelness, "MIME
                      Encapsulation of Aggregate Documents, such as
                      HTML (MHTML)", RFC 2557, March 1999.

[MD5]                 Myers, J. and M. Rose, "The Content-MD5 Header
                      Field", RFC 1864, October 1995.

[MIME-HDRS]           Moore, K., "MIME (Multipurpose Internet Mail
                      Extensions) Part Three: Message Header
                      Extensions for Non-ASCII Text", RFC 2047,
                      November 1996.

[MIME-IMB]            Freed, N. and N. Borenstein, "MIME
                      (Multipurpose Internet Mail Extensions) Part
                      One: Format of Internet Message Bodies", RFC
                      2045, November 1996.

[MIME-IMT]            Freed, N. and N. Borenstein, "MIME
                      (Multipurpose Internet Mail Extensions) Part
                      Two: Media Types", RFC 2046, November 1996.

[RFC-2822]            Resnick, P., "Internet Message Format", RFC
                      2822, April 2001.

[SASL]                Myers, J., "Simple Authentication and Security
                      Layer (SASL)", RFC 2222, October 1997.

[TLS]                 Dierks, T. and C. Allen, "The TLS Protocol
                      Version 1.0", RFC 2246, January 1999.

[UTF-7]               Goldsmith, D. and M. Davis, "UTF-7: A Mail-Safe
                      Transformation Format of Unicode", RFC 2152,
                      May 1997.

The following documents describe quality-of-implementation issues
that should be carefully considered when implementing this protocol:

[IMAP-IMPLEMENTATION] Leiba, B., "IMAP Implementation
                      Recommendations", RFC 2683, September 1999.

[IMAP-MULTIACCESS]    Gahrns, M., "IMAP4 Multi-Accessed Mailbox
                      Practice", RFC 2180, July 1997.
person dkarp    schedule 05.02.2011