Appendix A. Differences from RFC 1725 (与RFC 1725的差异)
本附录列出了RFC 1939相对于其前身RFC 1725的主要变更.
主要变更
1. 规范性语言
澄清了RFC 2119关键词 (MUST, SHOULD, MAY等) 的使用, 使协议要求更加明确.
2. 安全考虑
扩展了安全考虑章节, 更详细地讨论了:
- 明文密码传输的风险
- APOP命令的安全优势
- TLS/SSL的使用建议
3. 命令响应
澄清了某些命令的响应格式和行为:
- STAT命令的响应格式
- LIST命令的多行响应
- 错误处理的一致性
4. 邮箱锁定
更明确地规定了邮箱锁定机制:
- 独占访问锁的要求
- 锁获取失败的处理
- 锁释放的时机
5. 超时行为
明确规定了不活动超时:
- 最小超时时间为10分钟
- 超时后的行为 (不进入UPDATE状态)
- 客户端活动重置超时计时器
6. 字节填充
更清楚地解释了多行响应中的字节填充 (byte-stuffing) 机制.
7. 状态转换
澄清了会话状态之间的转换规则:
- AUTHORIZATION → TRANSACTION
- TRANSACTION → UPDATE
- 异常情况下的状态处理
编辑性变更
- 修正了拼写和语法错误
- 改进了示例的清晰度
- 更新了参考文献
向后兼容性
RFC 1939与RFC 1725保持向后兼容. 实现RFC 1725的客户端和服务器可以继续互操作, 但建议更新到RFC 1939以获得更好的互操作性和安全性.
建议:
- 新实现应遵循RFC 1939
- 现有实现应升级到RFC 1939
- 测试互操作性时应考虑两个版本