【小结】FTP使用客户-服务器体系结构(C/S);使用TCP,会建立两个连接——数据连接(非持续连接,每次传送一个文件后会关闭该数据连接)和控制连接(用于传输命令、用户标识和口令);FTP有状态。
1.注:用户通过一个FTP用户代理(代理是一个客户端软件,用于向服务器发送命令和接受服务器的响应。代理不是代理服务器,是软件)与FTP进行交互。
2.FTP文件传输过程:用户首先提供远程主机的主机名,然后本地主机的客户进程与远程主机的FTP服务器进程建立用于控制的TCP连接。然后用户通过控制连接提供用户标识和口令,当服务器收到命令后,就发起一个到客户端的TCP数据连接,然后用户就可以将存放在本地文件系统的文件传输到远程文件系统(或者接收)。(不过当传送完一个文件后,这个数据连接就会关闭àFTP的数据连接时非持续连接)
3.FTP v.s HTTP:
(1)同:都是文件传输协议;都运行在TCP上。
(2)异:①FTP使用两个并行的TCP连接来传输文件——控制连接和数据连接,∴称FTP的控制信息是带外(out-of-band)传送的;而HTTP是带内(in-band)传送的;
②FTP的数据连接是非持续连接;HTTP默认是持续连接,也可以是非持续连接;
③HTTP是无状态协议,不必对任何用户状态进行追踪;而FTP必须在整个会话期间保留用户的状态(把用户账户与控制连接联系起来,追踪用户在远程目录树上的当前位置)。
整理不易,亲亲点个赞呗~~