An Introduction to FTP

What Is FTP?

FTP stands for "file transfer protocol." FTP powers one of the fundamental Internet functions and is the prescribed method for the transfer of files between computers. It is also the easiest and most secure way to exchange files over the Internet.

An FTP address looks a lot like an HTTP or web site address except it uses the prefix ftp:// instead of http://.

What is a Protocol Anyway?

The dictionary defines the word "protocol" as:

A set of conventions governing the treatment and especially the formatting of data in an electronic communications system.

Therefore, FTP is essentially a "set of conventions" that can be used by an "electronic communications system" to transfer files.

These "conventions" are defined in a document known as RFC 959.  This document contains the details of how FTP should be implemented in software.

If you want to write some software that implements FTP, then RFC 959 would be a good place to start.

What are some common uses of FTP?

The most common use of FTP is to download files. FTP is vital to the MP3 music sharing, most online auctions and game enthusiasts. The ability to transfer files quickly and reliably is essential for everyone creating and maintaining a web page.

How can I use FTP?

  • Most web hosting services provide FTP access to their customers to allow them to upload the contents of their web sites.
  • Companies often have FTP servers that allow users to send and receive files.
  • Most universities have FTP servers that allow their students to download course materials and upload assignments for submission.
  • Use FTP to transfer files among users, especially if the files are too large to attach to an email.
  • Use FTP to browse through a collection of downloadable files on a public software archive.

What is an FTP Server?

Typically, a computer with an FTP address is dedicated to receive an FTP connection.  A computer dedicated to receiving an FTP connection is referred to as an FTP server or FTP site.

What Is HTTP, and can I use it to transfer files?

HTTP (hyper-text transfer protocol) was primarily designed to transfer text such as HTML (hypertext markup language) or web pages. HTTP can be used to transfer files; however, it’s not as useful for uploading or sending files as it is for downloading them.

What do I need to start using FTP?

You need two things to begin using FTP:

  1. An FTP client application and
  2. An FTP server.

Where can I get an FTP Client?

Most computer operating systems already come with an FTP client; however, it is not user-friendly.  Start up a command prompt window, type "ftp" and then press “enter.”  Chances are you will be greeted by an "ftp>" prompt. Unless you are well-versed with using command lines and enjoy typing, there are much easier ways to FTP.

FTP Explorer is an FTP client application.  It is designed to make FTP simple and hassle-free. Most people agree it is much easier to use than a command line FTP client. Download FTP Explorer here.

Where can I get an FTP server?

In many cases, the FTP server you want to connect to is already out there somewhere, waiting for you to establish a connection to it.

If, however, you want to set up your own FTP server so other users can connect to your server and transfer files, you have a few options:

  • Many operating systems come with an FTP server, but it is often disabled for security reasons. Windows XP Pro includes an FTP server as part of Internet Information Server, but it is disabled by default. Most Unix and Linux systems include FTP "daemons" as part of their distributions.  Check with the vendor of your operating system to determine if you already have FTP server software.
  • There are also a variety of third party FTP servers available.

How do I publish my web site to an FTP server?

You need to send your web site files to the FTP server that your web hosting service has established for you.

Obtain the following information from your hosting service:

  1. Host name or IP address of their FTP server,
  2. The login name you should use,
  3. The password you should use, and
  4. The location of the folder where you should store your files.

How do I upload files?

To upload files, you must first be connected to an FTP server using the appropriate login and password (most servers do NOT allow anonymous users to upload).  Contact the administrator of the FTP server to determine the appropriate login information.
Once connected, you must navigate to the proper folder. You may not have rights to upload into every folder to which you have access. Contact the administrator of the FTP server to determine the folder that you should be uploading to.

Once connected and in the proper folder, you have several options for uploading at your disposal:

A. Upload Menu Option

  1. Choose the FILE | UPLOAD menu option
  2. Select file(s) to upload from the Upload dialog box

B. Upload Toolbar Button

  1. Select the Upload toolbar button
  2. Select file(s) to upload from the Upload dialog box

C. Drag and Drop

  1. Open a windows explorer view, such as My Computer
  2. Navigate to the files that you wish to upload
  3. Drag and drop the files onto the right pane of FTP Explorer
NOTE: Drag and drop is currently the only way to upload entire folders.

What is Anonymous FTP?

Many FTP servers allow "anonymous" access.  Usually these servers will only allow you to download anonymously and will prohibit uploading.

To connect with an anonymous FTP server:

  1. Use "anonymous" for the login name
  2. Use your email address for the password

What is PASV mode?

An FTP session generally consists of two connections between the client and the server.

The first connection is known as the "control connection" and is used by the client to send commands to the server and receive responses from the server.  This connection is usually made via TCP port 21.

The second connection is known as the "data connection" and is used to transfer the actual data (such as files or directory listings) between the client and server.

The client establishes a control connection to the server and logs in. Subsequently, client submits a transfer command (such as RETR, STOR, or LIST), that requires a data connection to be established. Normally, the client will specify a TCP port that the server should connect to, and the server will then initiate a connection back to the client on that port and begin transferring the data.  Many modern firewalls and routers will block this connection by default, as it is generally a security risk for a client to accept connections. This is where PASV mode is useful.

When PASV mode is used, the client sends a command to the server informing the server of its intent to use PASV mode, and the server responds with a TCP port.  The client then initiates a connection to the server on this port and the server begins transferring data.

In general, it is usually better to use PASV mode.

What FTP Terminology Should I Know?

Anonymous FTP: Transfers files from the public portion of an FTP server. "Anonymous" means that you don't have to have an account on the server. In most cases, use anonymous as your user name and your email address as your password.

Archive: An FTP site that contains a selection of files for download.

Download: Also called "Get". Copy a file from an FTP site to another computer. If you're merely downloading shared files an anonymous account is usually sufficient. However, if you're downloading Web pages for update, a password and user privileges is usually required.

FTP site: A Web site that stores files for download. You can access the sites with a Web browser by typing in the address. All FTP site addresses begin with ftp:// (instead of http://).

Upload: Also called "Put". Place files on an FTP server. Upload privileges are usually password protected to keep unauthorized users from placing files that could contain viruses or other malicious code on the server.