Какие RFC необходимо учитывать при разработке клиента IMAP?
Теоретически, набор запросов на комментарии (RFC) содержит все, что нужно знать разработчику для создания клиента IMAP. Однако не всегда легко узнать, какие RFC необходимо учитывать, а какие можно игнорировать.
У кого-нибудь есть план RFC, чтобы направлять разработчиков через это? Под дорожной картой RFC я имею в виду:
- Полный список RFC, которые необходимо прочитать и понять для разработки клиента IMAP.
- Указание того, какие RFC больше не нужно рассматривать, потому что они были заменены.
- Резюме соответствующих RFC.
- Подробно о том, как соответствующие RFC взаимосвязаны друг с другом.
- Указание на логический порядок чтения и понимания соответствующих RFC.
1 ответ
Дорожная карта достаточно короткая. Начните с IMAP 4rev1 RFC, RFC 3501. Оно имеет Normative References
приложение, которое перечисляет все RFC, от которых он напрямую зависит, и ссылается на эти RFC в соответствующих местах в документе.
Наиболее важными из них - вы можете прочитать их в этом порядке - являются формат сообщений Интернета (я бы рекомендовал RFC 5322 вместо RFC 2822, чтобы быть более современным), RFC MIME ( 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 и переходите оттуда по мере необходимости.
Вот текст из Приложения 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.