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:
- An FTP client application and
- 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:
- Host name or IP address of their FTP server,
- The login name you should use,
- The password you should use, and
- 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.