The in and outs of File Transfer Protocol.
What is FTP?
FTP stands for File Transfer Protocol, and is a method of transferring
files across the internet. Chances are, you've used FTP without even
knowing it. If you've ever downloaded software to your computer or
uploaded pictures or web pages to an online service, you were most
likely using FTP. These are two of the most common uses for FTP. In the
Internet's early days, most of the data that travelled over the
Internet travelled by FTP.
You may have noticed that most of the web sites you visit using your
web browser start with HTTP? Well, this stands for HyperText Transfer
Protocol, and is another common way for files to be transmitted across
the Internet. However, unlike HTTP, which was designed to send small
files to a screen for display as soon as they are recieved, FTP allows
many files, including very large ones, to be queued up and sent as a
"group" or "batch" and saved as they arrive, rather than displayed.
This makes FTP the ideal way to get files from your home computer to a
remote server -- they are automatically saved to the server's hard
drive as soon as they are received.
FTP has many other benefits as well, such as the ability to know
whether all of the "batch" was delivered properly and the ability to
resume sending where it left of if a transmission is interrupted, and
more importantly to web site owners, the ability to view, rename and
delete files and folders on a remote server without having to download
them first.
If you are trying to use FTP to build and maintain your web site, then
the FTP features available to you will depend on the FTP software on
your computer, as well as the FTP server software and permissions of
the server you are trying to communicate with.
How Do I Use FTP?
You can use FTP by using software that knows how to communicate using
the FTP protocol. There are 3 main types of FTP software you can use
for maintaining a web site:
1) Your web browser - Very few people know that every time they use
their web browser, they are using an FTP-capable program. Most modern
web-browsers have basic FTP support built in. For example, using
Internet Explorer and Microsoft Windows, you can type
FTP://yourFTPusername:yourFTPpassword@yourwebsite.com/foldertouploadto
right into the address bar, and it will show you all the files that are
listed on your web site. (If you don't want your password to be
displayed in the address bar, you can just type
FTP://yourFTPusername@yourwebsite.com/
foldertouploadto and it will ask you for your password). Once your
browser has connected via FTP and is displaying the files in your
remote site, you can just drag and drop (or cut and paste) files from
your desktop to the window and they will be uploaded to your site. This
is a very easy and little-known way to upload files to a web server.
You can even bookmark the address on your remote site for quick FTP
access whenever you want to connect to your site.
2) FTP software (or "client") - There are large number of FTP programs
that are available out there, ranging from free to shareware to
expensive commercial software. Two very popular and easy to use ones
that we have used and recommend are WS_FTP and CuteFTP. If you code
your own web-pages using a text editor such as notepad, or just want a
lighter weight program to manage things on the server without opening
your whole page editing software, these programs are an ideal choice.
They are easy enough for inexperienced webmasters yet powerful enough
that you'd never need to use anything else.
3) Page Editing Software - Most web page editing/creation software
includes the built-in ability to upload, download and manage files on a
remote server using FTP. For example, I am currently using my favorite
page editing software, Macromedia Dreamweaver MX to write this. When I
am done editing, I click a button and Dreamweaver automatically
transfers the updated files to the server. Two other popular page
editing programs that include this functionality are Microsoft
FrontPage 2002, and Adobe GoLive 6.0. For me, having FTP integrated
into the program I also use to create and edit my web pages is the
fastest and easiest method.
What is Anonymous FTP?
Some web hosting services allow you to have what is called "anonymous
FTP". This is basically an "open" FTP account, allowing people to
upload files to the server without having to have their own username
& password (or without having to tell them yours!). Usually the
username is just "anonymous" and the password is a valid e-mail
address. This type of account is typically used by software archives
that want to accept files submitted by site visitors, but it is also
used as an easier way to allow people to send large files to you than
by using e-mail attachments. As you can probably guess, anonymous FTP
accounts often end up being havens for pirated or copyrighted material,
and are sometimes more trouble for a hosting company to police than
they are worth. You will generally only find anonymous FTP on higher
end hosting packages or smaller hosts that aren't big on security. For
most people, anonymous FTP is not a necessary feature.
What are multiple FTP accounts?
Some higher-end web hosting plans will allow you to create additional
FTP "accounts" or "users". Each account has its own unique username and
password. Typically, each account has its own folder on the server that
it has access to. Depending on how the web host has things setup, all
FTP accounts could have access to the same folder, only their own
folder, or you (from your main account) may be able to configure the
access allowed for each additional account.
Do I need FTP Access?
FTP hosting is a must for editing and uploading pages to your web site.
Many free hosts will not allow FTP and users must create pages directly
through an online site builder program or upload them through a
web-based file manager, which may only allow you to upload one file at
a time. This is a painfully slow process if you have more than 5 or so
pages on your site. Be sure that your web host offers FTP access to
your site. It is essential for making file/site uploading simple.