三.Email应用
1. 构成
(1)邮件客户端:读、写Email消息,与服务器交互、收发消息
(2)邮件服务器:为用户分配邮箱存储Email,创建消息队列存储等待发送的Email
(3)SMTP协议:邮件服务器之间传递消息所使用的协议
2. SMTP协议
(1)使用TCP进行Email消息可靠传输
(2)使用端口25传输
(3)传输过程:握手 -> 消息传输 -> 关闭
(4)命令/响应交互模式:命令为ASCII文本,响应为状态代码和语句
(5)Email消息只能包含7位ASCII码
(6)使用持久性连接
(7)利用CRLF确定消息的结束
3. Email应用示例
4. SMTP交互示例
5. HTTP vs SMTP
(1)HTTP:拉式,每个对象封装在独立的响应消息里,命令和状态代码均为ASCII码
(2)SMTP:推式,多个对象在由多个部分构成的消息中发送
6. Email消息格式
(1)RFC 822格式标准
·头部行:To、From、Subject
·消息体:消息本身、只能是ASCII字符
(2)多媒体扩展
·MIME:在邮件头部增加额外行以声明MIME的内容类型
7. 邮件访问协议:从服务器获取邮件
(1)POP:RFC 1939,认证/授权和下载
·认证过程
- 客户端命令:User、Pass
- 服务器响应:+OK、-ERR
·事务阶段
- List:列出消息数量
- Retr:用编号获取消息
- Dele:删除消息
- Quit:退出
·下载并删除模式:用户如果换了客户端软件,无法重读该邮件
·下载并保持模式:不同客户端都可以保留消息的拷贝
·POP3无状态
(2)IMAP:RFC 1730,能够操纵服务器上存储的消息
·所有消息统一保存在服务器
·允许用户利用文件夹组织消息
·支持跨会话的用户状态:可搜索文件夹名字等
(3)HTTP:163、QQ Mail等