ftp是一个应用层的文件传输协议。在一个典型的ftp会话中,用户能够一台主机箱另外一台主机传输(或接受来自远程主机)的文件。服务器
用户经过一个ftp用户代理与ftp交互tcp
1.该用户首先要提供远程主机的主机名,使本地主机的ftp客户端进程创建一个到远程主机ftp服务器进程的tcp链接代理
2.接着用户须要提供用户名和密码做为ftp命令的一部分在该tcp链接上传送进程
若用户名和密码是正确的,则用户就能够将存放在本地文件系统中的一个或多个文件复制到远程文件系统中(反之亦然)。get
相同点:服务器端
1.二者都是应用层上的文件传输协议ftp
2.二者都是运行在tcp上的file
区别:请求
1.ftp使用了两个并行的tcp链接,http只有一个tcp链接。并行
ftp是用的两个tcp链接,一个是控制链接,一个是数据链接。
控制链接用于在两主机之间传送控制信息。如用户名标识、口令、“存放(put)”和“获取(get)”文件的命令等。
数据链接用于实际传输一个文件。
http协议是在传输文件的同一个tcp链接中发送请求和响应首部行的。
用户主机与远程主机开始一个ftp会话时,ftp的客户端首先在服务器21号端口与服务器端发起一个用于控制的tcp链接。客户端能够经过该控制链接发送控制命令
当服务器端从控制链接收到一个文件传输的命令后,就发起一个到客户端的数据链接用于传输文件,文件传输完毕后该数据链接就关闭了,可是控制链接不关闭。
当有一个新的文件传输命令后,就又创建一个新的数据链接。
USER username :向服务器发送用户标识
PASS password:用于向服务器发送用户口令
LIST: 向服务器请求当前远程目录中的全部文件列表,该文件列表是通过一个新的数据链接返回给客户端的
RETR filename : 获取文件
STOR filename: 向服务器端上传文件