| < draft-leiba-imap-implement-guide-06.txt | draft-leiba-imap-implement-guide-07.txt > | |||
|---|---|---|---|---|
| Network Working Group B. Leiba | Network Working Group B. Leiba | |||
| Internet Draft IBM T.J. Watson Research Center | Internet Draft IBM T.J. Watson Research Center | |||
| Document: draft-leiba-imap-implement-guide-06.txt April 1998 | Document: draft-leiba-imap-implement-guide-07.txt May 1998 | |||
| Expires September 1998 | Expires October 1998 | |||
| IMAP4 Implementation Recommendations | IMAP4 Implementation Recommendations | |||
| Status of this Document | Status of this Document | |||
| This document provides information for the Internet community. This | This document provides information for the Internet community. This | |||
| document does not specify an Internet standard of any kind. | document does not specify an Internet standard of any kind. | |||
| Distribution of this document is unlimited. | Distribution of this document is unlimited. | |||
| This document is an Internet Draft. Internet Drafts are working | This document is an Internet Draft. Internet Drafts are working | |||
| documents of the Internet Engineering Task Force (IETF), its Areas, | documents of the Internet Engineering Task Force (IETF), its Areas, | |||
| and its Working Groups. Note that other groups may also distribute | and its Working Groups. Note that other groups may also distribute | |||
| working documents as Internet Drafts. | working documents as Internet Drafts. | |||
| Internet Drafts are draft documents valid for a maximum of six | Internet Drafts are draft documents valid for a maximum of six | |||
| months. Internet Drafts may be updated, replaced, or obsoleted by | months. Internet Drafts may be updated, replaced, or obsoleted by | |||
| other documents at any time. It is not appropriate to use Internet | other documents at any time. It is not appropriate to use Internet | |||
| Drafts as reference material or to cite them other than as a "working | Drafts as reference material or to cite them other than as a "working | |||
| draft" or "work in progress". | draft" or "work in progress". | |||
| To view the entire list of current Internet-Drafts, please check | To view the entire list of current Internet-Drafts, please check the | |||
| the "1id-abstracts.txt" listing contained in the Internet-Drafts | "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow | |||
| Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net | Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern | |||
| (Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au | Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific | |||
| (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu | Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). | |||
| (US West Coast). | ||||
| A revised version of this draft document will be submitted to the RFC | A revised version of this draft document will be submitted to the RFC | |||
| editor. Discussion and suggestions for improvement are requested. | editor. Discussion and suggestions for improvement are requested. | |||
| This document will expire by the end of September 1998. | This document will expire by the end of October 1998. | |||
| 1. Abstract | 1. Abstract | |||
| The IMAP4 specification [RFC-2060] describes a rich protocol for use | The IMAP4 specification [RFC-2060] describes a rich protocol for use | |||
| in building clients and servers for storage, retrieval, and | in building clients and servers for storage, retrieval, and | |||
| manipulation of electronic mail. Because the protocol is so rich and | manipulation of electronic mail. Because the protocol is so rich and | |||
| has so many implementation choices, there are often trade-offs that | has so many implementation choices, there are often trade-offs that | |||
| must be made and issues that must be considered when designing such | must be made and issues that must be considered when designing such | |||
| clients and servers. This document attempts to outline these issues | clients and servers. This document attempts to outline these issues | |||
| and to make recommendations in order to make the end products as | and to make recommendations in order to make the end products as | |||
| skipping to change at page 17, line 41 ¶ | skipping to change at page 17, line 41 ¶ | |||
| users to enter qualified mailbox names containing them, server | users to enter qualified mailbox names containing them, server | |||
| implementations SHOULD use delimiter characters that users generally | implementations SHOULD use delimiter characters that users generally | |||
| expect to see as name separators. The most common characters used | expect to see as name separators. The most common characters used | |||
| for this are "/" (as in Unix file names), "\" (as in OS/2 and Windows | for this are "/" (as in Unix file names), "\" (as in OS/2 and Windows | |||
| file names), and "." (as in news groups). There is little to choose | file names), and "." (as in news groups). There is little to choose | |||
| among these apart from what users may expect or what is dictated by | among these apart from what users may expect or what is dictated by | |||
| the underlying file system, if any. One consideration about using | the underlying file system, if any. One consideration about using | |||
| "\" is that it's also a special character in the IMAP protocol. | "\" is that it's also a special character in the IMAP protocol. | |||
| While the use of other hierarchy delimiter characters is permissible, | While the use of other hierarchy delimiter characters is permissible, | |||
| A DESIGNER IS WELL ADVISED TO STAY WITH ONE FROM THIS SET unless the | A DESIGNER IS WELL ADVISED TO STAY WITH ONE FROM THIS SET unless the | |||
| server is intended for special purposes only. Characters such as | server is intended for special purposes only. Implementers might be | |||
| "-", "_", ";", "&", "#", "@", and "!" may be considered, but the | thinking about using characters such as "-", "_", ";", "&", "#", "@", | |||
| implementer should be aware of the surprise to the user as well as of | and "!", but they should be aware of the surprise to the user as well | |||
| the effect on URLs and other external specifications (since some of | as of the effect on URLs and other external specifications (since | |||
| these characters have special meanings there). Also, a server that | some of these characters have special meanings there). Also, a | |||
| uses "\" (and clients of such a server) must remember to escape that | server that uses "\" (and clients of such a server) must remember to | |||
| character in quoted strings or to send literals instead. Literals | escape that character in quoted strings or to send literals instead. | |||
| are recommended over escaped characters in quoted strings in order to | Literals are recommended over escaped characters in quoted strings in | |||
| maintain compatibility with older IMAP versions that did not allow | order to maintain compatibility with older IMAP versions that did not | |||
| escaped characters in quoted strings (but check the grammar to see | allow escaped characters in quoted strings (but check the grammar to | |||
| where literals are allowed): | see where literals are allowed): | |||
| C: 001 LIST "" {13} | C: 001 LIST "" {13} | |||
| S: + send literal | S: + send literal | |||
| C: this\%\%\%\h* | C: this\%\%\%\h* | |||
| S: * LIST () "\\" {27} | S: * LIST () "\\" {27} | |||
| S: this\is\a\mailbox\hierarchy | S: this\is\a\mailbox\hierarchy | |||
| S: 001 OK LIST complete | S: 001 OK LIST complete | |||
| In any case, a server SHOULD NOT use normal alpha-numeric characters | In any case, a server SHOULD NOT use normal alpha-numeric characters | |||
| (such as "X" or "0") as delimiters; a user would be very surprised to | (such as "X" or "0") as delimiters; a user would be very surprised to | |||
| End of changes. 4 change blocks. | ||||
| 20 lines changed or deleted | 19 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||