¿Qué RFC deben considerarse para desarrollar un cliente IMAP?
Pregunta
En teoría, el conjunto de solicitudes de comentarios (RFC) contiene todo lo que un desarrollador necesita saber para construir un cliente IMAP. Sin embargo, no siempre es fácil saber qué RFC deben considerarse y cuáles se pueden ignorar.
¿Alguien tiene una hoja de ruta de RFC para dirigir a los desarrolladores a través de esto? Por RFC Roadmap, quiero decir:
- Una lista completa de RFC que deben ser leídos y entendidos para desarrollar un cliente IMAP.
- Una indicación de qué RFC ya no necesitan ser considerados, porque han sido reemplazados.
- Un resumen de los RFC relevantes.
- Detalle sobre cómo los RFC relevantes se interrelacionan entre sí.
- Una indicación del orden lógico para leer y comprender los RFC relevantes.
Solución
La hoja de ruta es razonablemente corto. Comience con el IMAP 4Rev1 RFC, RFC 3501. Tiene un Normative References
Apéndice que enumera todos los RFC que depende directamente, y hace referencia a esos RFC en los lugares apropiados del documento.
Los realmente cruciales, pueden leerlos en este orden, son el formato de mensaje de Internet (recomendaría RFC 5322 En lugar de RFC 2822 para estar más actualizado), los RFC MIME (RFC 2045, 2046, y 2047), Disposición de contenido (RFC 2183), Tls (RFC 2595), y UTF-7 (RFC 2152) para manejar los nombres de la carpeta no ASCII.
Una vez que haya terminado el protocolo de referencia, querrá comenzar a mirar extensiones. Algunos de ellos harán que su vida sea mucho más fácil ... cuando el servidor también proporciona soporte. Definitivamente querrás inactivo (RFC 2177) y uidplus (RFC 4315). CLASIFICAR (RFC 5256) también es bueno y espacio de nombres (RFC 2342) puede ser útil. Probablemente también necesite manejar algunos mecanismos adicionales de autenticación SASL, así que comience con RFC 1731 y ve desde allí según sea necesario.
Aquí está el texto del Apéndice 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.