Quali RFC devono essere considerati nello sviluppo di un cliente IMAP?
Domanda
In teoria, l'insieme della richiesta di commenti (RFC) contiene tutto ciò che uno sviluppatore deve sapere per costruire un cliente IMAP. Tuttavia, non è sempre facile sapere quali RFC devono essere considerati e quali possono essere ignorati.
Qualcuno ha una tabella di marcia RFC per guidare gli sviluppatori attraverso questo? Di RFC Roadmap, intendo:
- Un elenco completo di RFC che devono essere letti e compresi, al fine di sviluppare un client IMAP.
- Un'indicazione di quali RFC non devono più essere considerati, perché sono stati sostituiti.
- Un riepilogo degli RFC pertinenti.
- Dettaglio su come gli RFC pertinenti si interrompono tra loro.
- Un'indicazione dell'ordine logico di leggere e comprendere gli RFC pertinenti.
Soluzione
La tabella di marcia è ragionevolmente breve. Inizia con l'IMAP 4Rev1 RFC, RFC 3501. Ha un Normative References
Appendice che elenca tutti gli RFC che dipende direttamente e fa riferimento a quei RFC nei luoghi appropriati nel documento.
Quelli davvero cruciali - puoi leggerli in questo ordine - sono un formato di messaggi Internet (consiglierei RFC 5322 Invece di RFC 2822 per essere più aggiornato), i MIME RFCS (RFC 2045, 2046, e 2047), Disposizione dei contenuti (RFC 2183), TLS (RFC 2595) e UTF-7 (RFC 2152) per gestire i nomi delle cartelle non ASCII.
Una volta terminato il protocollo di base, ti consigliamo di iniziare a guardare le estensioni. Alcuni di essi renderà la tua vita molto più semplice ... quando il server fornisce anche supporto. Vorrai sicuramente inattivo (RFC 2177) e uidplus (RFC 4315). ORDINARE (RFC 5256) è anche buono e spazio dei nomi (RFC 2342) può essere utile. Probabilmente dovrai anche gestire alcuni meccanismi di autenticazione SASL extra, quindi inizia con RFC 1731 e vai da lì se necessario.
Ecco il testo dell'appendice 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.