FTP (File Transfer Protocol) is the grand daddy of the file sharing protocols. Although it started out in a cruder form than what we are used to today, its interface and functionality have evolved, thankfully, making it a viable option for many applications. As the name implies, FTP simply handles copying files from one computer to another. Even if you’re not a computer wiz, you’ve probably heard about FTP just surfing the web. In fact, you may have already used it and not realized it when you downloaded files with your browser.
A wide variety of drag and drop GUI based FTP programs are available making FTP as easy to use as Windows’ file Explorer. From the perspective of the user, it’s just as easy to move files between folders on your PC as it is to transfer files to and from an FTP server on the internet. FTP is a client-server based approach, and you need both types of applications, i.e. FTP servers and FTP clients, to successfully transfer files using this method. You don’t need both types of applications on both of the computers involved in the transfer, however. One of each application type is all that’s needed. Here’s how you determine which application needs to run where:
The person who will be requesting the file to be moved uses an FTP client on their computer.
The FTP server is run on the computer that must answer the request for file movement.
To repeat, the only computers that need to run an FTP server are the ones that must respond to requests for file transfers.
The initiator of the requests needs only to use an FTP Client.
FTP works well because all it does is get files from one computer to another, which is great if you want to transfer a batch of files. You won’t directly view or edit a file on another computer through FTP. For example, let’s say you want to edit a web page on another server. First you will have to use FTP to transfer the file to the computer with the editor, and then edit it, and then copy it back. So two copies of the file exist. Some of the FTP clients today allow you to do this seamlessly, but behind the scenes they still must transfer the file to the client computer first. This differs from the LAN based file sharing most of us think of where only one copy of the file exists on disk. In that scenario, the file remains on another computer where it is directly read and written to by the applications. But depending on what you need to do, FTP’s functionality may work just fine. It is also fast and efficient.
Tip: If you plan to run an FTP server, you need to be security conscious when configuring it. FTP is powerful because it is a well-established standard. But because it is a standard, lots of people are familiar with it, and the ways that it can be attacked or compromised. Be sure to use strong password protection and only share the minimum number of folders necessary.
Tip: I would not recommend running an FTP server on your local network unless you have a firewall in place, and even then, I recommend changing the FTP server to use a different port number other than the default port number. Also see this note if your FTP server is on a shared Internet connection.
There are several excellent graphical FTP clients and servers available online. FTP originated as a command line tool and Windows includes a command line version of an FTP client. But with the selection of excellent graphical FTP clients available, you’d have to be a masochist to use the command line version. Browsers such as Netscape and MS Explorer can also be used to download files from FTP servers. However, browsers don’t provide a means to upload files and are fairly limited in their flexibility compared to the full blown graphical FTP clients.
Ipswitch’s WS_FTP (screenshot) is a popular and easy to use FTP client offering synchronizing and scripting features. Ipswitch offers a companion WS_FTP Server as well. One of my favorite FTP clients is CuteFTP (screenshot) by Globalscape. CuteFTP also presents you with file explorer like navigation of local and remote directories side by side. A handy feature in CuteFTP is the file queue that allows you to traverse a directory tree marking files or entire directories for download later. Another FTP client worth mentioning is FTP Voyager (screenshot) by Rhinosoft. This is just a small sampling of available FTP clients. CNET’s download.com web site has an extensive list of available ftp clients and servers.