在应用层的另外一个典型的应用例子就是电子邮件
电子邮件的传送和通过浏览器访问其他主机的文件有不同之处,电子邮件的形式更多像我们日常生活中的邮箱。
电子邮件的概述:
在用户写好电子邮件之后,电子邮件首先通过用户代理(UA)(也就是在客户端的一个应用程序)将邮件发送到发送方邮件服务器,这个过程需要简单邮件传送协议(SMTP)然后由邮件发送方服务器将邮件通过互联网发送给接收方邮件服务器,然后由接收方从接收方邮件服务器读取邮件,这个过程需要邮件读取协议(POP3)或者网际报文存取协议(IMAP)协议。
电子邮件地址格式:
用户名@邮件服务器域名
邮件服务器域名就是邮件服务器的域名,用户名是收件人自定义的字符串标识符,用户名必须是唯一的。
简单邮件传送协议(SMTP):
SMTP协议规定了两个相互通信的SMTP进程之间的如何交换信息,SMTP使用客户服务器方式,因此,发送邮件的一方称为SMTP客户,接收邮件的一方称为SMTP服务器。
通过过程如下所示:
1)连接建立:
UA将邮件发送给发送方邮件服务器缓存,然后通过熟知的端口号25与接收方邮件服务器建立TCP连接,然后将邮件发送给接收方邮件服务器。SMTP不使用中间的服务器,是直接到达。
2)邮件发送:
邮件的发送从MAIL命令开始,MAIL命令后面有发件人的地址,如果SMTP准备好接收邮件,则回答“250 OK”,否则,返回一个代码,指出原因。
下面跟一个RCPT命令,格式为RCPT TO <收件人地址>。
3)连接释放:
邮件发送完成后,SMTP客户应发送QUIT命令,SMTP服务器返回的信息是“221”(服务器关闭),表示SMTP同意释放TCP连接,邮件传送过程结束。
邮件读取协议POP3和IMAP:
1)邮局协议:
POP3表示邮局协议POP的第三版本。这个协议非常简单,POP3服务器只有在用户输入鉴别信息后,才允许对邮箱进行读取。当用户读取邮件后,就把邮件删除
2)网际报文存取协议(IMAP)
IMAP协议比POP3协议复杂很多,它支持很多功能,首先,它支持只查看邮件首部,只有在打开邮件之后,邮件才下载到本地计算机,下载之后,原来的邮件也不删除,直到执行删除操作。
基于万维网的电子邮件:
前面提到的邮件服务都需要安装客户端,很不方便,所以提出来基于万维网的电子邮件,这种邮件在浏览器上使用HTTP协议,而在邮件服务器发送邮件时,仍然是SMTP
通用互联网邮件扩充MIME:
SMTP协议有很多缺点:
1)SMTP协议不能传送可执行文件或其他二进制对象。
2)SMTP限于传送7位的ASCII码,
3)SMTP协议拒绝超过一定长度的邮件。
4)不标准
基于这些缺点,改进了邮件服务,提出来MIME协议。