在應用層的另外一個典型的應用例子就是電子郵件
電子郵件的傳送和通過瀏覽器訪問其他主機的文件有不同之處,電子郵件的形式更多像我們日常生活中的郵箱。
電子郵件的概述:
在用戶寫好電子郵件之后,電子郵件首先通過用戶代理(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協議。
