【发布时间】:2014-10-25 04:29:48
【问题描述】:
RFC 3501 声明
如果来自早期会话的唯一标识符未能在此保留 会话,唯一标识符有效性值必须大于 之前的会话中使用的一个。
我知道“必须”不是真的可以协商的,但是当客户端收到一个小于上次连接时收到的UIDVALIDITY 时应该怎么做?它是否应该假设 UID 已保留,还是应该丢弃下载的消息?
【问题讨论】:
标签: imap
RFC 3501 声明
如果来自早期会话的唯一标识符未能在此保留 会话,唯一标识符有效性值必须大于 之前的会话中使用的一个。
我知道“必须”不是真的可以协商的,但是当客户端收到一个小于上次连接时收到的UIDVALIDITY 时应该怎么做?它是否应该假设 UID 已保留,还是应该丢弃下载的消息?
【问题讨论】:
标签: imap
它不能假设 UID 从它看到的最后一个 UIDVALIDITY 值开始持续存在。
假设它看到有效性 100 和 UID 1000,并将其缓存起来。后来它看到validity 101和UID 1,那么它就不能再使用旧1000的缓存信息了,但是它可以缓存UID 1。如果它再次看到validity 100,那么它就可以使用旧的1000缓存信息,但不是关于 1 的那个。
相当牵强。在实践中,我不希望有人打扰这样做。没有服务器使它值得。但是你问了;)
【讨论】:
如果 UIDVALIDITY 发生任何变化,则应清除有关该文件夹的所有缓存信息。
【讨论】: