Mark Crispin writes:
There is another advantage to always sending updates with STORE: the server would otherwise have to maintain a record of client state. It already has to keep track of its own state, and the state of the mail store. Resolving three states is much harder than resolving two states.I'd like to add that the server cannot know the client's state without making unreasonable assumptions. Here's an example:
C: a LOGIN mumble stumble
S: a OK
C: b select INBOX
S: ...
S: b OK
C: c FETCH UID 1,*
S: * 1 FETCH (UID 1)
S: * 100 FETCH (UID 32513)
S: c OK
At this point, the client may already know that its cached information about INBOX still is complete and accurate (at least if it doesn't cache flags and annotations). The server cannot know that.
--Arnt
