​其他的几个应用层协议

2020-07-31 11:38:02 浏览数 (1)

FTP协议

中文全称是文件传输协议,其实本质上来说,HTTP协议也属于文件传输协议,但两者有着巨大的差异。FTP描述的场景:

FTP客户端和FTP服务器之间,通过一定规则进行文件传输,这些规则就是FTP的内容。对于用户来说,一般都会有一个可视化的界面,进行操作,也就是图中的FTP用户接口。FTP运行机制是这样的:

  1. 客户端在21号端口与服务器建立一个TCP连接,通过这个连接向服务器发送控制指令。
  2. 当服务器收到一个文件传输的命令后,服务器会在20号端口与客户端建立一个TCP数据连接,用来传送数据。
  3. 传送完成,关闭TCP数据连接,继续第2步。

由此可以看出FTP与HTTP主要是如下不同:

  1. HTTP控制信息与数据信息通过同一个TCP连接进行发送的,而FTP建立了独立的TCP控制连接和TCP数据连接。
  2. HTTP本身是不会保存用户状态的,而FTP需要时刻记录每一个用户的状态,比如他目前在哪个层级目录下浏览等,也因此限制了FTP同时维持的会话总数。
电子邮件应用的核心:STMP协议

电子邮件应用的核心是STMP协议,说明还有其他协议扮演了非核心的角色,这些协议包括:HTTP、POP3、IMAP协议。下图是电子邮件工作的整体流程。

发送方通过SMTP协议将邮件发送到自己的邮件服务器,邮件服务器再将邮件通过SMTP协议发送到对方的邮件服务器,收件方最终通过POP3、IMAP或者HTTP协议将邮件拉去到自己本地。邮件服务器是一个共享的服务器,一般由用户的ISP维护,如公司或者大学。

STMP协议:这是个建立在TCP上的协议。

  1. 首先客户端在25号端口建立一个到服务器的TCP连接,如果建立失败,则等待进行重试。
  2. 建立成功之后,进行数据交付。
  3. 如果还有其他数据进行交付,继续进行,否则关闭连接。

由此过程可以看出,STMP和HTTP虽然都是在两个主机之间传送文件,但有一个很大的不同,HTTP是一个拉协议,主要是拉取信息。而SMTP是一个推协议,是向其他主机推送信息。也因此,对于接收方来说,就不能使用STMP从自己的邮件服务器上获取邮件了,于是POP3、IMAP就派上用场了,POP3是一个很简单的协议,就是进行一定的身份验证之后,拉取自己的邮件,IMAP更加复杂一点,记录了用户的状态信息,从而也可以提供更为复杂的功能。但现在更多的是使用HTTP协议,为用户提供了一种基于web的电子邮件,让用户可以使用浏览器对自己的邮件进行管理。但是,邮件服务的核心,即邮件服务器之间的通信,仍然使用的是SMTP协议。

0 人点赞