Какие RFC необходимо учитывать при разработке клиента IMAP? - PullRequest
1 голос
/ 05 февраля 2011

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

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

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

1 Ответ

6 голосов
/ 05 февраля 2011

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

Действительно важные - вы можетепрочитайте их в следующем порядке: формат сообщений Интернета (я бы рекомендовал RFC 5322 вместо RFC 2822, чтобы быть более актуальным), MIME RFC ( RFC 2045 2046 и 2047 ), расположение содержимого ( 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 и переходите оттуда по мере необходимости.

Вот текст из приложения A:

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.
...