IMAP4 Extensions for Quick Mailbox Resynchronization
RFC 5162
Document | Type |
RFC - Proposed Standard
(March 2008; Errata)
Obsoleted by RFC 7162
|
|
---|---|---|---|
Last updated | 2015-10-14 | ||
Replaces | draft-melnikov-imap-expunged | ||
Stream | IETF | ||
Formats | plain text pdf html bibtex | ||
Reviews | |||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 5162 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Chris Newman | ||
Send notices to | (None) |
Network Working Group A. Melnikov Request for Comments: 5162 D. Cridland Category: Standards Track Isode Ltd C. Wilson Nokia March 2008 IMAP4 Extensions for Quick Mailbox Resynchronization Status 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 This document defines an IMAP4 extension, which gives an IMAP client the ability to quickly resynchronize any previously opened mailbox as part of the SELECT command, without the need for server-side state or additional client round-trips. This extension also introduces a new response that allows for a more compact representation of a list of expunged messages (and always includes the Unique Identifiers (UIDs) expunged). Melnikov, et al. Standards Track [Page 1] RFC 5162 IMAP Quick Mailbox Resync March 2008 Table of Contents 1. Introduction and Overview . . . . . . . . . . . . . . . . . . 2 2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 4 3. IMAP Protocol Changes . . . . . . . . . . . . . . . . . . . . 4 3.1. QRESYNC Parameter to SELECT/EXAMINE . . . . . . . . . . . 4 3.2. VANISHED UID FETCH Modifier . . . . . . . . . . . . . . . 8 3.3. EXPUNGE Command . . . . . . . . . . . . . . . . . . . . . 10 3.4. CLOSE Command . . . . . . . . . . . . . . . . . . . . . . 11 3.5. UID EXPUNGE Command . . . . . . . . . . . . . . . . . . . 11 3.6. VANISHED Response . . . . . . . . . . . . . . . . . . . . 12 3.7. CLOSED Response Code . . . . . . . . . . . . . . . . . . . 15 4. Server Implementation Considerations . . . . . . . . . . . . . 15 4.1. Server Implementations That Don't Store Extra State . . . 15 4.2. Server Implementations Storing Minimal State . . . . . . . 16 4.3. Additional State Required on the Server . . . . . . . . . 16 5. Updated Synchronization Sequence . . . . . . . . . . . . . . . 17 6. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 19 7. Security Considerations . . . . . . . . . . . . . . . . . . . 20 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 21 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 10.1. Normative References . . . . . . . . . . . . . . . . . . . 21 10.2. Informative References . . . . . . . . . . . . . . . . . . 22 1. Introduction and Overview The [CONDSTORE] extension gives a disconnected client the ability to quickly resynchronize IMAP flag changes for previously seen messages. This can be done using the CHANGEDSINCE FETCH modifier once a mailbox is opened. In order for the client to discover which messages have been expunged, the client still has to issue a UID FETCH or a UID SEARCH command. This document defines an extension to [CONDSTORE] that allows a reconnecting client to perform full resynchronization, including discovery of expunged messages, in a single round-trip. This extension also introduces a new response, VANISHED, that allows for a more compact representation of a list of expunged messages. This extension can be useful for mobile clients that can experience frequent disconnects caused by environmental factors (battery life, signal strength, etc.). Such clients need a way to quickly reconnect to the IMAP server, while minimizing delay experienced by the user as well as the amount of traffic (and hence the expense) generated by resynchronization. Melnikov, et al. Standards Track [Page 2] RFC 5162 IMAP Quick Mailbox Resync March 2008 By extending the SELECT command to perform the additional resynchronization, this also allows clients to reduce concurrent connections to the IMAP server held purely for the sake of avoiding the resynchronization. The quick resync IMAP extension is present if an IMAP4 server returns "QRESYNC" as one of the supported capabilities to the CAPABILITY command. Servers supporting this extension MUST implement and advertise support for the [ENABLE] IMAP extension. Also, the presence of the "QRESYNC" capability implies support for the [CONDSTORE] IMAPShow full document text