FTP Primer

Scott MacKenzie, April 2000


Table of Contents

  1. What it FTP?
  2. Uploading and Downloading
  3. Anonymous and Non-anonymous FTP
  4. Command-line FTP
  5. WS-FTP

What is FTP?

FTP stands for "file transfer protocol". FTP is the Internet's mechanism for transferring files between two computers. Through FTP, you gain access to files on a distant computer on the Internet. Your computer is the "local computer", whereas the computer at the other end of an FTP connection is the "remote computer". A remote computer configured to support FTP is known as an "FTP server" or "FTP host". Remember, the Internet is just a network of networks. One of the primary purposes of the Internet is to allow distant computers to share resources, including files.

FTP is available to any Internet user, just like the web or e-mail. Like these, FTP is independent of the operating system used to access it. So, for example, there are numerous FTP programs available for Windows, Unix, or Mac OS.

Uploading and Downloading

Simply put, FTP allows you to access a directory on a computer connected to the Internet and transfer a file to or from that directory. Normally, you transfer files between a large, multi-user computer and your own computer.

File transfers can occur in two directions. "Downloading" is transferring a file from a remote computer to your computer – the local computer. "Uploading" is transferring a file from your computer to a remote computer. Perhaps a picture will help:

To upload or download a file by FTP, you need to do the following:

  1. Launch an FTP program and enter the name of a remote computer that is available as an FTP server.
  2. Submit a username and a password to gain access to the remote computer.
  3. Go into the desired directories on the local and remote computers.
  4. Select and transfer the file.

Anonymous and Non-anonymous FTP

There are two types of FTP connections, anonymous and non-anonymous. The most widely used is anonymous FTP. In fact, you have probably used anonymous FTP without even knowing it. Many web pages contain links to files that you can download. Often these links point to a file in an anonymous FTP directory.

If a file is stored in an anonymous FTP directory, virtually anyone with Internet access and an FTP program of some sort, even a web browser, can download the file. Uploading, on the other hand, is not possible with anonymous FTP. Anonymous FTP, therefore, provides “read-only” access to a directory. Anyone can download files from the directory, but only the "owner" of the directory can upload – or write – to the directory.

When you connect to any FTP directory, the host system asks for a username and password before allowing access to the directory. For anonymous FTP, the username is always "anonymous" and the password is always the user's e-mail address. For anonymous FTP via a web browser, this process occurs behind the scenes.

For non-anonymous FTP, a username and password for the FTP directory in question are required. Normally, you use non-anonymous FTP to access directories that you own on an Internet computer. For example, when you sign up with an Internet service provider (ISP), or get an Internet account through school or work, you get a "home" directory on the computer assigned to you. You can normally use the disk space in this home directory for any purpose you choose. To get access to that directory, however, you use FTP. The ISP gives you the name of the FTP host as well as the username and password required to gain access to your home directory.

Below, we briefly present two examples of FTP programs. Both are widely used and “free”.

Command-line FTP

A simple FTP program is provided with most operating systems. We refer to it as “command-line FTP” because it operates in a text-based terminal window. It is invoked from a command-line by typing “ftp” on the keyboard. All commands and options are issued from the keyboard and output appears as text in the terminal window. It is primitive, but, surprisingly, many seasoned computer uses prefer this type of interface.

There are two ways to launch command-line FTP from Microsoft Windows. The first is to launch a DOS window and then type “ftp” at the DOS prompt. The second, is to click on the Windows Start button and then select “Run…”. This opens a command-line window. Enter “ftp” and press return. The FTP program is launched and a terminal window appears with the FTP prompt. FTP is ready to go. First off, enter “help” to see what commands are available. Here’s the result:

For help on a particular command, enter “help name_of_command”. For example, typing “help get” displays

 
    get    Receive file

As noted above, seasoned computer users often take pride in working in command-line environments. If you’re just learning, however, you’ll find little comfort in working with command-line programs like this.

WS_FTP

Numerous FTP programs are available with “graphical” interfaces. Although functionally equivalent, they are in stark contrast to their command-line cousins. For most people, a graphical user interface, or GUI, is preferred.

A very popular GUI-style FTP program is available from Ipswitch, Inc. (http://www.ipswitch.com/). Ipswitch offers a free version, known as WS_FTP, and a professional version, known as WS_FTP Pro. The professional version is available free for a 30-day evaluation period, but must be purchased thereafter. Most individuals are well served by the free version, WS_FTP. (In this primer, we assume WS_FTP is installed and ready to go.)

When WS_FTP is launched, two windows appear: the main program window, and, on top of this, a Session Profile window. The Session Profile window is used to establish a connection to a remote FTP server:

Only three fields are required. First, you must enter the name of the host computer. This is entered in the Host Name field, either by name (e.g., webpost.yorku.ca) or by IP address (e.g., 130.63.236.97). Then, you must enter your username in the User ID field, and your password in the Password field. (For an anonymous FTP connection, you simply enter the host name and check the Anonymous Login box.) Click OK, and WS_FTP establishes the connection to the remote FTP server.

Once a connection is established, the Session Profile window closes and only the main program window remains. It will appear similar to the following:

Conveniently, the WS_FTP program window is divided in two parts: the “Local System” on the left and the “Remote System” on the right. Once the connection is established, a file transfer is performed as follows:

  1. Navigate to the desired directory on the local system
  2. Navigate to the desired directory on the remote system
  3. Select the file(s) to transfer
  4. Transfer the file(s)

Since the interface is a GUI, you can experiment and learn as you go. Click “Close” to terminate the FTP session.