FTP主要用于在两个端点之间传输数据。FTP不同于HTTP(超文本传输协议,用于通过Web浏览器提供网站),因为它是由两个不同的TCP连接组成的应用程序。
控制连接:基于TCP的连接提供用于传递命令和回复的通信通道。这实际上是一种机制,使用户能够告诉服务器正在请求哪个文件,它所在的目录,等等。
数据连接:第二个基于TCP的连接用于实际传输用户数据。使用Control连接交换有关所需文件的信息后,数据连接将用于在客户端和服务器之间传输文件。
使用这两个通信连接,两种不同的操作模式确定建立连接的方向:活动模式和被动模式。
FTP是一种基于TCP的服务。没有UDP(用户数据报协议将数据作为无连接协议传输,使用分组交换)组件到FTP。FTP是一种不寻常的服务,它使用两个端口,一个数据端口和一个命令端口(也称为控制端口)。传统上,这些是端口21用于命令(控制)端口,端口20用于数据端口。然而,当我们发现根据模式,数据端口并不总是在端口20上时,这就容易造成使用混乱。
主动FTP
在主动模式FTP中,FTP客户端软件从随机非特权(非特权端口是高于1023的端口)端口连接。假设N是FTP服务器的命令端口,端口21。然后,客户端开始侦听端口N + 1,并将FTP命令PORT N + 1发送到FTP服务器。然后,服务器将从其本地数据端口(即端口20)连接回客户端的指定数据端口。在这种FTP模式下,Hostgator China不需要在我们的服务器防火墙上打开任何额外的非安全端口,因此从服务器端是安全的。
被动FTP
在被动模式FTP中,FTP客户端启动与服务器的两个连接。打开FTP连接时,客户端会打开两个随机非特权端口,比如N和N + 1。第一个端口在端口21上与服务器联系,但是不是发出PORT命令并允许服务器连接回其数据端口,客户端将发出PASV命令。结果是服务器然后打开一个随机的非特权端口,让我们说P并将PORT命令发送回客户端。然后,客户端启动从端口N + 1到服务器端口P的连接以传输数据。这种FTP方法是不安全的,因为在服务器上打开了一个随机的非特权端口。这是一个潜在的安全问题,不建议使用FTP的被动模式。
(注意:所有Hostgator中国Windows和Linux Web服务器都支持主动模式和被动模式。)
所有流行的FTP软件都允许用户在将数据上传/下载到Web服务器时选择数据连接模式(主动或被动)。关于FTP建站的相关内容,感兴趣的朋友可以了解一下 怎样将网站内容利用FTP上传到网站空间。