文件传输协议:FTP《计算机网络——自顶向下方法(James F. Kurose, Keith W. Rose)》

(1)FTP 和HTTP都是 文件传输协议。

如下图所示,用户通过一个FTP用户接口与FTP交互。

首先,用户提供远程主机的主机名,使本地主机的FTP客户进程建立一个到远程FTP服务器进程的TCP连接;

接着,该用户提供用户标识和口令,作为FTP的一部分在该TCP连接上传送;

一旦该服务器向该用户授权,用户可以将存放在本地文件系统的一个或多个文件复制到远程文件系统(反之亦然);

文件传输协议:FTP《计算机网络——自顶向下方法(James F. Kurose, Keith W. Rose)》_第1张图片

(2)FTP与HTTP不一样的地方

①FTP是带外(out-of-band)传送的,它使用了两个并行的TCP连接来传输文件:控制连接(在两主机间传输控制信息)和数据连接(传输文件)。

而HTTP是在传送文件的同一个TCP里发送请求和响应首部行的,是带内(in-band)传送。

文件传输协议:FTP《计算机网络——自顶向下方法(James F. Kurose, Keith W. Rose)》_第2张图片

注意:数据连接是非持续的,每一次文件传输都要建立一个新的数据连接

FTP服务器必须在整个会话期间保留用户的状态,大大限制了FTP同时维护的会话总数。而HTTP服务器是无状态的,不必对任何用户状态进行跟踪。

(3)几个常见的FTP命令和回答

FTP的命令和回答都是以7比特ASCII格式在控制连接上传送的。每个命令由4个大写字母ASCII字符组成,命令后跟回车换行符。

①常见命令如下:

USER username(用于向服务器传送用户标识)

PASS password(用于向服务器传送用户口令)

LIST(用于请求服务器回送当前远程目录中的所有文件列表。该列表经数据连接传送)

RETR filename(用于从远程主机的当前目录检索filename文件,取回)

STOR filename(用于在远程主机的当前目录上存放filename文件,上传)

②典型回答如下:

311 Username OK, Password required

125 Data connection already open; transfer starting

425 Can't open data connection

452 Error writing file

你可能感兴趣的:(计算机网络)