Understanding File Transport Protocol (FTP)

Yosef Mendelsohn


Please note that the web version of this document is optimized for Microsoft’s Internet Explorer.  If you do not have IE, you may download this zipped file containing the text document (in Microsoft Word 97 format) and associated graphics.  The Word version does not include the videos.  (Click here for a tutorial on using Winzip)


What Is FTP?

File Transport Protocol (FTP) is one member of a few different protocols that make the Internet work.  Other such protocols include HTTP (for the web), and SMTP (for e-mail).  FTP specializes in moving entire files from one node (computer) on the Internet, to another.  FTP does not modify or even examine the file it is transporting. 



This document was not meant to be a 30-second guide to FTPing a file.  Rather, I have attempted to explain a little bit of what is going on in the background.  Once these principles are understood you should be able to use any FTP client you like without confusion.  This tutorial was written demonstrating Ws FTP Pro which can be obtained from Ipswitch.  There are also numerous free FTP clients available. 


In a nutshell….

FTP is a protocol that specializes in creating a dedicated connection between two computers over the Internet for the express purpose of moving files between them. 







Can’t I just e-mail it?

As is often the case with computers, confusion arises when there are several different methods of accomplishing a similar task.  The transport of files is no exception.  For example, the user might be tempted to ask: “Why can’t I just e-mail the file?”  Well, this method is fine if one individual is sending a file to another specific user.  But what if you want to leave a file somewhere so that any user who wants that file can get it?   Well, supposing that  thousands of users were to request your file via e-mail.  It would clearly not be practical for you to wade through the multitude of messages, responding to each message with the attached file.  Further, the requesting user would have to wait for you to next check your e-mail before they could get their file. 


Or suppose that you have a web site on a remote computer somewhere to which you wish to upload your latest and greatest resume?  In both these situations, sending a file via e-mail is not practical.  With this last scenario, it is likely that there is nobody present on the remote computer to download your e-mail and put the attached file in its proper place.  And there are numerous other limitations to this method. 


You use FTP all the time…

…you just aren’t aware of it.  Often when downloading a file from the web, there is an “invisible” FTP session going on in the background. 


Case Study

While your web browser can and does act as an FTP application, it is often more convenient to use an application specifically designed as an FTP client.  It is kind of analogous to using a spreadsheet such as Excel as a word processor.  It could be done to a small degree, but for any real work, you probably would want to go with a dedicated word-processor such as Word. 


For this case study we will use an application called ‘Ws_Ftp Professional’ (pronounced ‘Wais F-T-P’).  While this may not be the same FTP application that you are using, you should after reading this web page, be able to figure out how to work around the differences. 


We will call the machine where the files are held the FTP Server*.  For example, a computer that hosts a web site must also have FTP server capabilities if it is to allow users to move files off and on to that machine.  If you are a DePaul student, you are allowed to store web pages and serve them from a computer whose Internet address is ‘shrike.depaul.edu’. 


So let’s say that a DePaul student named ‘Cole Porter’ has created a very nice web page of his resume, and saved the file as ‘cole_resume.htm .  The only problem is that Cole’s file is not available on the web until he places a copy of that file onto ‘shrike’.  Cole needs a way of connecting the computer in his dorm room with the computer that serves his web pages to the world (shrike), located in downtown Chicago.  Because both Shrike and Cole’s personal computer are on the Internet, Cole can create an FTP session to connect them together. 


So, Cole opens up his FTP application.  If a connection to Shrike has already been created, the Cole need only click on the appropriate link.  He will be prompted for his user-name and password. 


Cole then sees the following:



(If a connection to Shrike had not been previously created, Cole would need to create a new connection). 


He selects ‘Cole’s Connection to Shrike’ and clicks on OK.  Provided that Cole’s name and password have been entered properly, Cole will soon see something like the following:  (Note that my example uses a different account called “Fisher”).




Please Demonstrate!


Local System / Remote System:

Again, because Cole is a fictional character, I will have to use one of my own accounts  Note that under “Remote Site”, the dialogue says: /fisher   If there was a Cole Porter and he had an account on shrike, his remote site would say something like:  /shrike/students/cporter.  Also under “Local System”, the dialogue will reflect the current working directory on Cole’s local machine, such as: c:\My Documents\. 


On this window, “Local System” refers to the current working directory on whichever computer that Cole is working.  The “Remote Site” is the computer somewhere else on the Internet to which Cole wishes to transfer files.


The “Local System” and “Remote Site” dialogues indicate the current directory in which the user is working. 







Just underneath is a dialogue box that allows the user to change directories.  Cole can either type in a specific directory such as “c:\windows\media”, or he can click on one of the directories listed below.  Double-clicking on the two dots at the top will take him up one directory level.


 (Click here for a tutorial on using files and directories in Windows).  Double-clicking on a specific folder will take Cole inside that folder. 


Let’s say that Cole has his files stored on his floppy-disk.  He clicks on the  (Change Directory) button on the local system side and types “A:\”.  He now sees a display of all the files on his floppy disk.  On the remote side, Cole double-clicks on the directory called “public_html” since that is where his web files must be stored. 


Transferring Files

Cole now, in effect, has a direct ‘pipeline’ between his floppy disk and the public_html directory on Shrike.  All he needs to do at this point is select files on either side and click on the appropriate arrow.  For example, to transfer the file called ‘cole_resume.html’ from his floppy to the web server, Cole highlights the file, and then clicks on the  icon.  If everything is set up correctly, Similarly, files can be transferred in the other direction by selecting files on the remote-side and clicking on the left arrow icon . 




Please Demonstrate!


Congratulations!  You have successfully transferred a copy of the file to your remote machine.  Of course, you should verify that the transfer worked by looking for your file on the remote side window. 


WARNING:  If you have files with identical names on both the sending and receiving side, the file on the receiving side will be overwritten.  And more often than not, you will not receive any warning. 


What to do if your FTP application does not show the computer you wish to connect to

When Cole clicks on ‘Connect’ he is faced with a screen of choices which will connect him to different computers over the Internet.  However, none of these choices seems to lead him to the computer he wants to connect to, namely, ‘shrike.depaul.edu’.  So after looking around the window, he spots an option called ‘New’. 





Fearlessly, Cole clicks on that button realizing that he could always cancel his way back out should it prove to be a bad choice.  However, his bravery is rewarded and he is now looking at the following window:



Cole gives the site an easy-to-remember name.  However, he has not yet told FTP application where to find this site.  But after clicking on ‘Next’, he is faced with the following:





This is where Cole tells the FTP application which computer it is to connect to.  This is an important distinction.  Most FTP applications will allow you to specify a ‘friendly’ name for the computer you wish to connect to.  However, this should not be confused with the Internet address of that computer. 


After clicking ‘Next’ Cole is prompted for is login name and password.  Most FTP servers will require that the user identify themselves, proving that they do indeed have an account and the proper privileges to FTP to that remote computer.  Cole enters his information. 





After clicking on ‘Finish’, Cole is taken back to the connection window.  He notes with some satisfaction that his connection to ‘shrike’ is now one of the options. 




Please Demonstrate!


* In fact, it is more accurate to say that the machine on which the file is held is running FTP server software.