⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2192.txt

📁 SIP 1.5.0源代码
💻 TXT
📖 第 1 页 / 共 3 页
字号:
Network Working Group                                          C. NewmanRequest for Comments: 2192                                      InnosoftCategory: Standards Track                                 September 1997                            IMAP URL SchemeStatus of this memo     This document specifies an Internet standards track protocol for     the Internet community, and requests discussion and suggestions for     improvements.  Please refer to the current edition of the "Internet     Official Protocol Standards" (STD 1) for the standardization state     and status of this protocol.  Distribution of this memo is     unlimited.Abstract     IMAP [IMAP4] is a rich protocol for accessing remote message     stores.  It provides an ideal mechanism for accessing public     mailing list archives as well as private and shared message stores.     This document defines a URL scheme for referencing objects on an     IMAP server.1. Conventions used in this document     The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY"     in this document are to be interpreted as defined in "Key words for     use in RFCs to Indicate Requirement Levels" [KEYWORDS].2. IMAP scheme     The IMAP URL scheme is used to designate IMAP servers, mailboxes,     messages, MIME bodies [MIME], and search programs on Internet hosts     accessible using the IMAP protocol.     The IMAP URL follows the common Internet scheme syntax as defined     in RFC 1738 [BASIC-URL] except that clear text passwords are not     permitted.  If :<port> is omitted, the port defaults to 143.Newman                      Standards Track                     [Page 1]RFC 2192                    IMAP URL Scheme               September 1997     An IMAP URL takes one of the following forms:         imap://<iserver>/         imap://<iserver>/<enc_list_mailbox>;TYPE=<list_type>         imap://<iserver>/<enc_mailbox>[uidvalidity][?<enc_search>]         imap://<iserver>/<enc_mailbox>[uidvalidity]<iuid>[isection]     The first form is used to refer to an IMAP server, the second form     refers to a list of mailboxes, the third form refers to the     contents of a mailbox or a set of messages resulting from a search,     and the final form refers to a specific message or message part.     Note that the syntax here is informal.  The authoritative formal     syntax for IMAP URLs is defined in section 11.3. IMAP User Name and Authentication Mechanism     A user name and/or authentication mechanism may be supplied.  They     are used in the "LOGIN" or "AUTHENTICATE" commands after making the     connection to the IMAP server.  If no user name or authentication     mechanism is supplied, the user name "anonymous" is used with the     "LOGIN" command and the password is supplied as the Internet e-mail     address of the end user accessing the resource.  If the URL doesn't     supply a user name, the program interpreting the IMAP URL SHOULD     request one from the user if necessary.     An authentication mechanism can be expressed by adding     ";AUTH=<enc_auth_type>" to the end of the user name.  When such an     <enc_auth_type> is indicated, the client SHOULD request appropriate     credentials from that mechanism and use the "AUTHENTICATE" command     instead of the "LOGIN" command.  If no user name is specified, one     SHOULD be obtained from the mechanism or requested from the user as     appropriate.     The string ";AUTH=*" indicates that the client SHOULD select an     appropriate authentication mechanism.  It MAY use any mechanism     listed in the CAPABILITY command or use an out of band security     service resulting in a PREAUTH connection.  If no user name is     specified and no appropriate authentication mechanisms are     available, the client SHOULD fall back to anonymous login as     described above.  This allows a URL which grants read-write access     to authorized users, and read-only anonymous access to other users.     If a user name is included with no authentication mechanism, then     ";AUTH=*" is assumed.Newman                      Standards Track                     [Page 2]RFC 2192                    IMAP URL Scheme               September 1997     Since URLs can easily come from untrusted sources, care must be     taken when resolving a URL which requires or requests any sort of     authentication.  If authentication credentials are supplied to the     wrong server, it may compromise the security of the user's account.     The program resolving the URL should make sure it meets at least     one of the following criteria in this case:     (1) The URL comes from a trusted source, such as a referral server     which the client has validated and trusts according to site policy.     Note that user entry of the URL may or may not count as a trusted     source, depending on the experience level of the user and site     policy.     (2) Explicit local site policy permits the client to connect to the     server in the URL.  For example, if the client knows the site     domain name, site policy may dictate that any hostname ending in     that domain is trusted.     (3) The user confirms that connecting to that domain name with the     specified credentials and/or mechanism is permitted.     (4) A mechanism is used which validates the server before passing     potentially compromising client credentials.     (5) An authentication mechanism is used which will not reveal     information to the server which could be used to compromise future     connections.     URLs which do not include a user name must be treated with extra     care, since they are more likely to compromise the user's primary     account.  A URL containing ";AUTH=*" must also be treated with     extra care since it might fall back on a weaker security mechanism.     Finally, clients are discouraged from using a plain text password     as a fallback with ";AUTH=*" unless the connection has strong     encryption (e.g. a key length of greater than 56 bits).     A program interpreting IMAP URLs MAY cache open connections to an     IMAP server for later re-use.  If a URL contains a user name, only     connections authenticated as that user may be re-used.  If a URL     does not contain a user name or authentication mechanism, then only     an anonymous connection may be re-used.  If a URL contains an     authentication mechanism without a user name, then any non-     anonymous connection may be re-used.     Note that if unsafe or reserved characters such as " " or ";" are     present in the user name or authentication mechanism, they MUST be     encoded as described in RFC 1738 [BASIC-URL].Newman                   Standards Track                        [Page 3]RFC 2192                    IMAP URL Scheme               September 19974. IMAP server     An IMAP URL referring to an IMAP server has the following form:         imap://<iserver>/     A program interpreting this URL would issue the standard set of     commands it uses to present a view of the contents of an IMAP     server.  This is likely to be semanticly equivalent to one of the     following URLs:         imap://<iserver>/;TYPE=LIST         imap://<iserver>/;TYPE=LSUB     The program interpreting this URL SHOULD use the LSUB form if it     supports mailbox subscriptions.5. Lists of mailboxes     An IMAP URL referring to a list of mailboxes has the following     form:         imap://<iserver>/<enc_list_mailbox>;TYPE=<list_type>     The <list_type> may be either "LIST" or "LSUB", and is case     insensitive.  The field ";TYPE=<list_type>" MUST be included.     The <enc_list_mailbox> is any argument suitable for the     list_mailbox field of the IMAP [IMAP4] LIST or LSUB commands.  The     field <enc_list_mailbox> may be omitted, in which case the program     interpreting the IMAP URL may use "*" or "%" as the     <enc_list_mailbox>.  The program SHOULD use "%" if it supports a     hierarchical view, otherwise it SHOULD use "*".     Note that if unsafe or reserved characters such as " " or "%" are     present in <enc_list_mailbox> they MUST be encoded as described in     RFC 1738 [BASIC-URL].  If the character "/" is present in     enc_list_mailbox, it SHOULD NOT be encoded.6. Lists of messages     An IMAP URL referring to a list of messages has the following form:         imap://<iserver>/<enc_mailbox>[uidvalidity][?<enc_search>]Newman                      Standards Track                     [Page 4]RFC 2192                    IMAP URL Scheme               September 1997     The <enc_mailbox> field is used as the argument to the IMAP4     "SELECT" command.  Note that if unsafe or reserved characters such     as " ", ";", or "?" are present in <enc_mailbox> they MUST be     encoded as described in RFC 1738 [BASIC-URL].  If the character "/"     is present in enc_mailbox, it SHOULD NOT be encoded.     The [uidvalidity] field is optional.  If it is present, it MUST be     the argument to the IMAP4 UIDVALIDITY status response at the time     the URL was created.  This SHOULD be used by the program     interpreting the IMAP URL to determine if the URL is stale.     The [?<enc_search>] field is optional.  If it is not present, the     contents of the mailbox SHOULD be presented by the program     interpreting the URL.  If it is present, it SHOULD be used as the     arguments following an IMAP4 SEARCH command with unsafe characters     such as " " (which are likely to be present in the <enc_search>)     encoded as described in RFC 1738 [BASIC-URL].7. A specific message or message part     An IMAP URL referring to a specific message or message part has the     following form:         imap://<iserver>/<enc_mailbox>[uidvalidity]<iuid>[isection]     The <enc_mailbox> and [uidvalidity] are as defined above.     If [uidvalidity] is present in this form, it SHOULD be used by the     program interpreting the URL to determine if the URL is stale.     The <iuid> refers to an IMAP4 message UID, and SHOULD be used as     the <set> argument to the IMAP4 "UID FETCH" command.     The [isection] field is optional.  If not present, the URL refers     to the entire Internet message as returned by the IMAP command "UID     FETCH <uid> BODY.PEEK[]".  If present, the URL refers to the object     returned by a "UID FETCH <uid> BODY.PEEK[<section>]" command.  The     type of the object may be determined with a "UID FETCH <uid>     BODYSTRUCTURE" command and locating the appropriate part in the     resulting BODYSTRUCTURE.  Note that unsafe characters in [isection]     MUST be encoded as described in [BASIC-URL].Newman                   Standards Track                        [Page 5]RFC 2192                    IMAP URL Scheme               September 19978. Relative IMAP URLs     Relative IMAP URLs are permitted and are resolved according to the     rules defined in RFC 1808 [REL-URL] with one exception.  In IMAP     URLs, parameters are treated as part of the normal path with     respect to relative URL resolution.  This is believed to be the     behavior of the installed base and is likely to be documented in a     future revision of the relative URL specification.     The following observations are also important:     The <iauth> grammar element is considered part of the user name for     purposes of resolving relative IMAP URLs.  This means that unless a     new login/server specification is included in the relative URL, the

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -