On Tue, 2003-03-04 at 19:21, Alexey Melnikov wrote: > > > A well written client should fetch BODYSTRUCTURE as preferentially before > > > fetching any other body data. > > > > But if I'm just browsing message headers, only thing I need is ENVELOPE. > > BODYSTRUCTURE is needed only when actually opening the message. > > ?
Say I want to open one message in a mail client that first shows a list of messages: 1 FETCH 1:30 ENVELOPE (fetch a screenful) 2 FETCH 20 BODYSTRUCTURE 3 FETCH 20 BODY[1] Now why would you have needed to fetch the other 29 BODYSTRUCTUREs, except if you wanted to show a nice icon for message type? > Many servers cache BODYSTRUCTURE responses, so it is fast. Yes, some servers uselessly cache BODYSTRUCTURE in disk and lets them slow down processing other commands. If a client fetches BODYSTRUCTURE for a message just once, is it worth it to keep it lying around in disk, causing extra disk I/O? Even worse if client never asks for BODYSTRUCTURE, but the server has it stored just in case. Well, depends on the server usage I guess. Should it try to optimize for fast replies to clients in usually idle server, or should it try to optimize the overall performance when disk I/O is being bottleneck almost all the time on a very busy server.